Leverkusen cut gap on Bayern before Champions League showdown
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.
Dortmund win, Leipzig in freefall
Serhou Guirassy scored as Borussia Dortmund boosted their slim top-four hopes with a 2-0 win at St Pauli.
Fresh from scoring four goals in a 6-0 demolition of Union Berlin last time out, Guirassy put Dortmund in front five minutes into the second half, tapping in a Karim Adeyemi pass.
Adeyemi put Dortmund in the driver's seat with an excellent solo goal eight minutes later.
The 23-year-old Adeyemi, one of the smallest players on the pitch, latched onto a long ball and used his strength to grapple past two defenders before slotting home.
It is the first time Dortmund have won two in a row in the league this season.
Dortmund, who host Lille in the Champions League last 16 on Tuesday, sit 10th, six points off fourth with 10 games remaining.
Guirassy has 24 goals in all competitions for Dortmund since arriving from Stuttgart in July, more than St Pauli have managed in the league all season.
A "relieved" Dortmund defender Nico Schlotterbeck praised his side's "mature performance" to Sky Germany, saying "we've been working to get a second-straight win all season."
Leipzig let a one-goal lead slip to lose 2-1 at home against Mainz, who moved into fourth spot.
Xavi Simons gave Leipzig the best possible start, tapping in a rebound from close range after one minute.
Mainz turned the game in six second-half minutes.
One-time Germany midfielder Nadiem Amiri cut in from close range after 52 minutes and current national team striker Jonathan Burkhardt added a second six minutes later.
Leipzig have won just one of their past eight games in the league and are in danger of missing Champions League qualification for the first time since 2017-18.
Elsewhere, Wolfsburg kept their hopes of European qualification on track with a 2-1 win at Werder Bremen, thanks to a double from Patrick Wimmer.
Wolfsburg are seventh, one point and one place behind Leipzig, who occupy the final Europa League qualification spot.
A Robin Hack double and a Nathan Ngoumou goal took Borussia Moenchengladbach to a dominant 3-0 win at Heidenheim, drawing the Foals level with Wolfsburg on 37 points.
Heidenheim picked up a crucial win in their bid to avoid the drop, beating lowly Bochum 1-0 with Bayern-bound Tom Bischof scoring the only goal.