The result sees Bayern's 18-game unbeaten run in all competitions come to an end and gives the Red Bulls their first league win in five games.
Bayern did not waste time in seizing on the opposition's wasted opportunity and, after just 12 minutes played, the visitors took the lead.
The Red Bulls exploded into life following the goal concession and dominated proceedings thereafter, a slew of chances keeping Sven Ulreich busy.
Leipzig's equaliser duly came on 37 minutes as early substitute Timo Werner latched on to a Naby Keita cutback and forced a save from Ulreich, only for the Liverpool-bound man to drill home on the rebound.
The hosts did not have to wait long to go ahead, however, and four minutes before the hour, they struck what turned out to be the winner.
Keita was instrumental once again, opening up the Bayern defence with a pass into the right inside channel for Werner, who kept his composure and slotted past Ulreich.
Both sides continued to trade blows, with Leipzig doing their utmost to take the sting out of the game and keep Bayern at bay right until the final whistle.
RB LEIPZIG (3-4-2-1): Gulacsi; Konate, Ilsanker, Upamecano; Laimer, Kampl, Demme, Bruma; Sabitzer (Werner 10', Augustin 83'), Keita (Forsberg 69'); Poulsen
BAYERN MUNICH (4-3-3): Ulreich; Kimmich (Rafinha 79'), Sule, Hummels, Alaba; Rodriguez (Lewandowski 72'), Rudy, Vidal; Muller, Wagner, Bernat (Ribery 61')