Schalke and Cologne picked up big wins at opposite ends of the table. On Saturday, Bayern dropped points for the first time since November as Hertha held them to a draw, while Bremen triumphed in a fiery Nordderby.
Bayer Leverkusen 0-2 Schalke
(Burgstaller 11', Bentaleb pen 89')
Schalke produced a fine display in Leverkusen to return to second in the Bundesliga.
Guido Burgstaller's fine strike gave the visitors an early lead before Dominik Kohr was shown his second yellow card to leave Leverkusen a goal and a man down before the break.
Leverkusen stayed in the game but eventually conceded a second from the spot a minute from time after Panos Retsos brought down Breel Embolo in the box, with the Greek international lucky not to see red too.
Nabil Bentaleb converted the penalty to inflict Leverkusen's second successive home defeat in the Bundesliga.
Leipzig 1-2 Cologne
Cologne produced a stunning comeback to hand themselves a vital lifeline in the relegation battle courtesy of a 2-1 win against an experimental Leipzig side.
Knowing they could go second with a win, the hosts got off to the perfect start when Jean-Kevin Augustin broke the deadlock inside five minutes, slotting into an empty net after the ball fell kindly to him.
However, an eye-catching debut goal from January signing Vincent Koziello 20 minutes from time sparked a turnaround that was completed by Leonardo Bittencourt, moving the Billy Goats level on points with Hamburg at the foot of the standings.
Bayern Munich 0-0 Hertha Berlin
Hertha Berlin goalkeeper Rune Jarstein pulled off a series of fine saves to end Bayern's 12-game winning run in the Bundesliga.
Bayern dominated their game but were unable to convert their chances, with Franck Ribery blazing their best chance over the bar in the first half. David Alaba and Arjen Robben both went close with free-kicks, but Jarstein was equal to them.
Werder Bremen 1-0 Hamburg
Given the current plight of these two sides, it was unsurprising that most of the drama took place in the stands. Pyrotechnics halted play in a boisterous first half, providing the only talking point of the Nordderby until Ishak Belfodil srambled the ball across the line in the 86th minute.
The loss leaves Hamburg eight points adrift of guaranteed safety, while Bremen have given themselves some room to breathe.
Hannover 0-1 Borussia Mönchengladbach
Christoph Kramer scored a sensational volley as Borussia Mönchengladbach ended a four-game losing streak with victory at Hannover.
Kramer lashed an unstoppable 25-meter shot past Philipp Tschauner to settle the game in the visitors' favor and end a run of 431 minutes without a goal.
Hoffenheim 1-1 Freiburg
(Kramaric 57‘ — Petersen pen 66‘)
Nils Petersen scored yet again, his 12th league goal of the season, as Freiburg salvaged a point at Hoffenheim.
The hosts took the league courtesy of a delightful Andrej Kramaric free-kick, but were unable to hang on to their lead. Freiburg were awarded a penalty when Kevin Vogt tripped Petersen, who converted the penalty himself.
Stuttgart 1-0 Eintracht Frankfurt
Stuttgart won their third successive Bundesliga game to move comfortably clear of the relegation zone.
The goal came early on in calamitous circumstances. Mario Gomez rounded Frankfurt keeper Lukas Hradecky and saw his shot cleared off the line by Russ, only for it to come back off the post and fall t the feet of Thommy, who simply stroked the ball into the empty net.
Mainz 1-1 Wolfsburg
(Muto 44' — Brekalo 6')
Yoshinori Muto's strike on the stroke of halftime earned Mainz a valuable point against Wolfsburg on Friday night.
Wolfsburg, playing under coach Bruno Labbadia for the first time, struck early through Josip Brekalo, who turned the ball home from close range despite a hint of handball.
But Muto finished a fine Mainz move to earn a share of the points between the Bundesliga strugglers.