Bundesliga Matchday 24 in pictures
Bayern Munich struggled but got over the line thanks to a brace from Thomas Müller, while Dortmund drew a blank against Hamburg. Schalke impressed at home thanks to Max Meyer and Franco di Santo won it for Werder.
Hannover unlucky to lose to Bayern
Hannover 96 put in perhaps their best performance this season, but lost 3-1 to Bayern Munich after a controversial penalty decision turned the game in Bayern's favour. Xabi Alonso's free kick cancelled out Hiroshi Kiyotake's opener, before Thomas Müller scored from the spot after a stooping Robert Lewandowski was judged to have been fouled. Müller added a third with his head to seal the points.
Magical Meyer wins it for Schalke
After last week's derby defeat, Roberto di Matteo changed his team and started Max Meyer. His reward was a 3-1 home win against Hoffenheim and a brace from his teenage starlet. Schalke were in control throughout and survived a small scare late on to seal an important win ahead of their Champions League game against Real Madrid in two weeks.
Wolves bitten by Augsburg
Wolfsburg suffered a blow to their good form by suffering a 1-0 away defeat to Augsburg after Dominik Kohr put in the rebound of Tobias Werner's saved penalty. Wolfsburg weren't at their best but were denied what seemed a legal goal when Robin Knoche headed home in the second half. Augsburg are now in fifth, level on points with Schalke.
di Santo scores, Werder win (again)
Freiburg were short of goal chances and that cost them as Werder Bremen, the better side in the matchday 24 clash, took one of theirs to take home the three points. Franco di Santo's 12th goal of the season was a beauty - a curling shot from the top left-hand corner of the area and it moves Werder Bremen into eighth.
No drama in Hamburg, this time
Recent games between Borussia Dortmund and Hamburg have been dramatic of late, but not this weekend as the pair drew 0-0 in a fairly uneventful encounter. Ciro Immobile passed when he should have shot late on and Valon Behrami was lucky to not be sent off after just three minutes for a flying elbow.
Mainz battle back to share the spoils
A brace from Raffael wasn't enough for Gladbach to take three points at Mainz after a late comeback left the scores at 2-2. Johannes Geis and Shinji Okazaki scored two in five minutes inside the last 20 minutes to leave Lucien Favre furious.
Stuttgart's troubles continue
After a 0-0 draw on Friday evening, Stuttgart remain rock bottom of the Bundesliga. Huub Stevens' men looked ordinary against relegation rivals Hertha Berlin with both sides' lack of quality evident on the night.
Cologne batter Frankfurt
Cologne fans aren't used to four goals at home - they had only netted five until Sunday's match with Frankfurt. Three killer second-half strikes from Risse, Osako and Ujah, added to Deyverson's opener to send the Cologne supporters home deligted. Meanwhile, Frankfurt's Alex Meier now has 18 goals for the season.
Son double fires Leverkusen to win
It wasn't pretty, but Leverkusen took another step towards securing Champions League football next season with a 3-0 win at Paderborn. The visitors needed 73 minutes before Papadopolous headed in the opener before South Korean Son hit his two late goals in the final six minutes.