Wolfsburg 3 - 1 Werder Bremen
Wolfsburg rode to victory on the back of a second half brace from Patrick Helmes to pull themselves within striking distance of the final Europa League place.
Wolfsburg's first goal came thanks to a low strike from Hasan Salihamidzic that beat Tim Wiese. Bremen equalized just before the half thanks to a header from Markus Rosenberg.
Helmes calmly finished two second half chances to send his team to victory. Helmes has 11 goals in only 15 appearances this season.
The loss moves Wolfsburg within 1 point of Hanover for the final Europa League place.
Bayer Leverkusen 1 - 0 Hannover
Stefan Kießling grabbed the winner with 15 minutes before the end of the match to push Bayer Leverkusen to 5th in the table.
The match was Michael Ballack's final at the Bay Arena, and the former German international made a second half substitute appearance and helping his side to the victory.
Hannover now sit on 45 points in the final Europa League place. The final matchday will be very interesting with four teams with a legitimate shot at finishing in the 7th position in the table.
Hamburg 0 - 0 Mainz
Hamburg guaranteed their survival in the Bundesliga with a valuable point at home against Mainz.
Mladen Petric and David Jarolim played their final matches in from the home supporters, as both will be leaving the club at the end of the season.
Hoffenheim 2 - 3 Nürnberg
Nürnberg edged Hoffenheim 3-2 thanks to a brace from Tomas Pekhart.
Pekhart started the scoring in the 9th minute knocking in a rebound from a shot by Daniel Didavi. Andreas Beck equalized just 13 minutes later knocking in a pass from Knowledge Musona.
The visitors took the lead again just before halftime when Didavi beat Tom Starke. Pekhart made it 3-1 by knocking in another rebound. Edson Braafheid scored a consolation goal for Hoffenheim with minutes remaining.
The win gives Nürnberg a shot at qualifying for next season's Europa League if results go their way next weekend. The loss denies Hoffenheim any shot at European football next year.
Bayern Munich 2 - 0 Stuttgart
Bayern Munich bested Stuttgart in the Südderby thanks to goals from Mario Gomez and Thomas Müller.
The first goal came when Müller intercepted a header from Maza and laid the ball off to Gomez. Gomez beat Sven Ulreich to make it 1-0. Müller picked up his goal in extra time.
Bayern started a defense of Diego Contento, Rafinha, Holger Badstuber and Anatoliy Tymoshchuk in an effort to begin a process to find out who will be starting the Champions League final against Chelsea. Badstuber and David Alaba will be banned from the final due to yellow card accumulation.
Regardless of next week's result, Bayern will finish in second place behind Borussia Dortmund. Stuttgart sit one point behind Bayer Leverkusen in the Europa League group stage. They'll need results to go their way next weekend, or they'll find their way into the qualification rounds.
Freiburg 4 - 1 Köln
Köln desperately needed to pick up points, but Freiburg were having none of it. They used a second half route to dismantle a hapless Köln side 4-1.
Mensur Mudjza opened the scoring for Freiburg in the first half. Köln finally turned all of their first half effort into production when Lukas Podolski scored just after halftime.
The level score was short-lived, and Freiburg recaptured the lead when Karim Guede volleyed home a goal to take the lead. Daniel Caligiuri and Sebastian Freis added goals late in the second half to put survival out of the grasp of the visitors.
Köln will now need results to go their way next weekend if they are to find their way into the relegation playoff.
Borussia Mönchengladbach 0 - 0 Augsburg
Augsburg managed to get the point they needed to guarantee survival in the Bundesliga in a scoreless draw at Borussia Park against Borussia Mönchengladbach.
After failing to pick up any points and falling 4 points behind Schalke, Gladbach will have to go through the Playoff Round of qualifying in next season's UEFA Champions League.
Kaiserslautern 2 - 5 Borussia Dortmund
Jürgen Klopp replaced nearly all of his starters for the match against Kaiserslautern, but it didn't matter in the end. Led by a hat trick from Lucas Barrios, Dortmund easily knocked FCK aside 5-2.
Due to injuries an the rise of Robert Lewandowski, the start for Barrios was only his third of the season. The three goals brought his total to four on the season. This is a far cry from the 16 goals he scored last season.
Mario Götze returned to the starting lineup for Dortmund and scored his first goal since last November. Götze is rounding into form ahead of the DFB Pokal Final on May 12 against Bayern Munich.
Dortmund has already clinched the Bundesliga crown for the season. Kaiserslautern are guaranteed to finish last and will be relegated to the 2.Bundesliga.
Schalke 4 - 0 Hertha Berlin
Schalke made easy work of Hertha Berlin on Saturday with a dominating 4-0 victory in Gelsenkirchen. Klaas-Jan Huntelaar opened the scoring in the 32nd minute to give the hosts the lead. Lewis Holtby grabbed Schalke's second goal after collecting a long punt by goalkeeper Lars Unnerstall. He beat the defense and shot past
After missing several chances throughout the match, Raul managed to get a goal in the 85th minute when he scored on a corner kick. Even though he's only been at the club since the summer of 2010, Raul quickly became a fan favorite at the Veltins Arena. This was his final match in front of the Schalke home fans. The former Spanish international previously announced his decision to leave the club and not sign a contract extension. During the goal celebration, Raul was joined by all eleven players on the pitch.
Huntelaar grabbed another goal with minutes remaining to push him ahead of Bayern's Mario Gomez in the race for the Golden Boot.
The win coupled with Borussia Mönchengladbach's draw means that Schalke will feature in the group stage of next season's UEFA Champions League. For Hertha, they must now beat Hoffenheim next week and hope Köln lose to Bayern if they have any hope at qualifying for the Relegation Playoff.