Bayern's comeback win over Stuttgart on Friday had sent them 11 points clear of champions Leverkusen.
Wanting to keep their slim hopes of defending the Bundesliga title alive, Leverkusen did not blink against third-placed Frankfurt, scoring three goals in a seven-minute blitz to grab hold of the game.
Nathan Tella latched onto a defence-splitting Granit Xhaka pass and slotted home after 26 minutes.
Nordi Mukiele scored Leverkusen's second three minutes later, tapping a pinballing ball into the goal through a crowded penalty area.
Patrick Schick scored four minutes later, sliding in an Alex Grimaldo pass, his 16th goal in his past 14 games.
Frankfurt striker Hugo Ekitike took advantage of a poor pass from Mukiele to score on the 37th-minute mark.
Despite the hosts starting the second half brightly, a cracking long-range effort from Aleix Garcia with 63 minutes gone sealed a crucial win for Xabi Alonso's side.
The loss continued Frankfurt's slide, with the Eagles having lost two from eight since Omar Marmoush departed for Manchester City.