MISSED the match? Catch Up via beIN SPORTS CONNECT | 2-week free trial
Joshua Kimmich's first-half strike had given the German champion the lead at BayArena, putting it on course for the summit heading into the international break.
But a pair of spot-kicks in the second half from Exequiel Palacios instead sealed a deserved comeback for the host, which often looked more threatening.
It means Julian Nagelsmann's side is econd behind Borussia Dortmund heading into the pair's table-topping Klassiker at the start of April.
Having been leapfrogged by its rivals a day earlier, Bayern knew it needed a result on the road to regain top spot.
After withstanding early Leverkusen pressure, the Bavarian giant set about finding it amid torrential rain, with Kimmich drilling a close-range finish home in the 22nd minute, aided by a kind deflection.
For the rest of the first half, however, it was Bayern which appeared to be on the back foot, Leverkusen creating a flurry of chances, led by Moussa Diaby.
The home side remained on top following the restart and was rewarded with a penalty after Benjamin Pavard stepped on Amine Adli's heel.
Palacios converted powerfully to equalise in the 55th minute and stepped up again 18 minutes later when Adli was caught once more by Dayot Upamecano.
The Argentinian again made no mistake to put Leverkusen into a worthy lead and from there Leverkusen clung on for a crucial victory that dealt Bayern's title defence a serious blow.