There's a four-point difference in the title race with six to play for after Dortmund's downfall edged Bayern closer to glory. Elsewhere, the race for Europe and the relegation battle are set to go down to the wire.
Good week for: Bayern Munich, Augsburg, Wolfsburg, Peter Bosz
Bad week for: Borussia Dortmund, the handball rule, Stuttgart, VELTINS-Arena crowd
— Bayern Munich edged ahead, likely decisively, in the title race after beating Hannover 3-1. That put the pressure on Borussia Dortmund but Lucien Favre's side threw away a two-goal lead to draw with Werder Bremen and leave Bayern four points clear with two games to go. Bayern weren't great but good enough to get the job done against a Hannover side that were handed a lifeline after a strange VAR call. Jerome Boateng's hands were tucked in and he was turning away and yet a penalty against him was given. Jonathas scored, but was soon sent off and after picking up two quick yellows and that was enough to give Bayern the edge. Christian Pulisic and Paco Alcacer had Dortmund in cruise control, but then two mistakes let Bremen back in and the hosts nearly won it. A seventh straight title looks to be heading towards Munich.
— In the battle for a top-four finish, Bayer Leverkusen fell just three goals short of moving above opponents Eintracht Frankfurt as they had to settle for going level on points with the Eagles courtesy of a 6-1 drubbing on home soil. All seven goals came inside the opening 36 minutes of a breathtaking first half, setting a new Bundesliga record for most goals scored before the break of a top-flight match. It was Bosz-ball at its finest.
— The relegation battle stayed alive for one more week. Nuremberg gifted Wolfsburg a win, and that combined with Hannover's defeat in Munich and Stuttgart's inability to get anything in Berlin meant that no one was relegated on Saturday. Stuttgart's inability to win means their first-ever appearance in the relegation playoff looks like their only way out this season.
— With Augsburg's survival guaranteed before kick-off following Stuttgart's loss in the capital, Schalke followed suit at the end of a 0-0 draw against Die Fuggerstädter that, like their respective Bundesliga campaigns, was forgettable.
— Gladbach and Hoffenheim knew that a win would give them a huge advantage in the race for Europe, but a draw would leave the door open for others. Hoffenheim twice surrended a lead though, in an end-to-end affair. Josip Drmic saved the day for Gladbach, denying Nadiem Amiri the glory of his stunning volley being the winner.
— Mainz and RB Leipzig played out a bit of unexpected thriller on Friday night. RB jumped to a 2-0 and later 3-1 lead thanks to a brace from Lukas Klostermann but Mainz found the goals when they needed to. Moussa Niakhate and later Jean-Philippe Mateta made sure the spoils were shared, which means RB's potential title charge is over. Who believed that anyway?
Lukas Klostermann bagged his first Bundeslia brace in Mainz, but it wasn't enough for Leipzig to take all three points.
"It's always special to play in front of these fans." — Claudio Pizarro, who scored in Bremen's 2-2 draw with Dortmund.
"I am very thankful. That is the only word that comes to mind: gratitude." — Arjen Robben on his comeback.
"I think in the context of this season, it is a clear handball. This is not a criticism of the referee. I don't think they know what to call anymore." — Florian Kohfeldt on whether or not Mario Götze's handball should have resulted in a penalty for Bremen.
Jonathas' penalty goal for Hannover was the 2,000th goal Bayern Munich conceded in the Bundesliga. The striker also became the first ever player in the Bundesliga to come on a sub, score a penalty and pick up two yellow cards in nine minutes. Robert Lewandowski he is not.
Arjen Robben's four-minute appearance on Saturday was his 700th appearance in his career for club and country.
Paco Alcacer scored his 18th goal of the season against Werder Bremen, becoming the first Dortmund player since Norbert Dickel in 1987 to reach that tally in his first 24 Bundesliga appearances.
Schalke set a new club record, drawing a blank in front of goal at the Veltins-Arena for an eighth time - more than in any previous Bundesliga season.
Schalke and Augsburg played out a goalless snooze fest on Sunday - both will feature in the Bundesliga next season.
Against Bayern, Hannover striker Jonathas did more in his nine-minute appearance than players normally do in a month. Thomas Doll brought the Brazilian striker on at halftime for Hendrik Weydandt. Six minutes after coming on, he converted a penalty that cut Hannover's deficit to 2-1, but picked up a yellow card for trying to wrestle the ball away from Bayern goalkeeper Sven Ulreich. He was sent off three minutes after that, seeing a second yellow after swiping the face of Joshua Kimmich. In the end, his nine-minute appearance featured six touches, one shot, one goal and two yellow cards.
Jerome Boateng was penalized for a handball despite his arms being tucked in and his body turned away from the ball. Later in the same game, Matthias Ostrzolek did virtually the same thing but VAR was not called and no penalty was given. In Berlin, Karim Rekik handled the ball but no penalty was given. Later in the day, Mario Götze saw a bouncing ball hit his arm in the box, and VAR was consulted but no penalty was given. By the close of play on Matchday 32, the use of VAR remained as confusing as ever but what was a handball or not was even murkier.