Nürnberg 1 - 1 Hamburg
Nürnberg secured their place in the Bundesliga next season by picking up a point at home against Hamburg.
Heung-Min Son scored the opener for the visitors when Marcel Jansen found him in the box in the 59th minute. The lead didn't last and only five minutes later Daniel Didavi found the equalizer.
Didavi has been huge for Nürnberg coming down the stretch having scored seven of their last ten goals.
Hamburg aren't completely safe from relegation at this time. They're five points ahead of Köln with two matches to play for both sides.
Hertha Berlin 1 - 2 Kaiserslautern
Kaiserslautern ended their 21 match streak without a win by beating Hertha Berlin on Saturday. Unfortunately, with other results not going their way today, FCK has been officially relegated and will play their football in the 2.Bundesliga next season.
Oliver Kirch found the net first for the visitors when he received a pass from Olcay Sahan and beat Thomas Kraft. Kaiserslautern doubled their lead just before the half when Andrew Wooten shot past an onrushing Kraft.
Hertha cut the lead in half in the 60th minute when Peter Niemeyer headed in a corner from Patrick Ebert. They were not able to get any closer.
The result keeps Hertha two points from getting out of a direct relegation place. They're five points behind Augsburg to escape relegation entirely, but Augsburg have three matches remaining compared with Hertha's two.
Köln 1 - 1 Stuttgart
Köln had the opportunity to pull ever closer to escaping the relegation zone on Saturday, but a late goal from Stuttgart's Cacau saw the two sides share the points.
After having missed opportunity to give Köln the lead just before halftime, Lukas Podolski made amends by finding Slawomir Peszko at the far post to give the hosts a 1-0 lead. Stuttgart would find the equalizer in the 71st minute. Vedad Ibisevic's long pass found Cacau streaking past the Köln back line, and the Germany international smacked it off of the post into the net.
Köln remain in the relegation playoff spot three points behind Augsburg.
Hoffenheim 0 - 1 Bayer Leverkusen
Andre Schürrle scored a goal in the 79th minute to ensure that Leverkusen will be playing European football next season. Schürrle curled a shot that Tom Starke had no chance of saving.
After a harsh penalty call against Vedran Corluka for a handball, Sejad Salihovic saw his penalty saved by Leverkusen's Bernd Leno.
Even with the loss, Hoffenheim are still within striking distance of qualifying for Europe.
Werder Bremen 1 - 2 Bayern Munich
Franck Ribery came on as a second half substitute and scored the winner as Bayern Munich edged Werder Bremen 2-1 in Bremen.
With the Bundesliga title out of reach and Wednesday's Champions league clash in Madrid, Jupp Heynckes rolled out almost a full reserve lineup. To clarify exactly how "reserve" the lineup was... Luiz Gustavo and Anatoliy Tymoshchuk were the two starting centerbacks and rarely used Nils Petersen, Diego Contento, and Takashi Usami all started.
After a back and forth first half, Bremen struck first just after the break. Claudio Pizarro flicked on a corner kick, and Naldo knocked it past Manuel Neuer. The momentum swung entirely in Bremen's favor, and they nearly scored again but Pizarro's shot was wide of the target.
Naldo went from hero to villain in the 75th minute when he turned a Ribery cross into his own net. With Bayern pushing for the win, Ribery put the ball past Tim Wiese inside the far post for the winning goal.
The result forces Borussia Dortmund to beat Borussia Mönchengladbach if they want to win the title today. For Bremen, the result keeps the two points behind Hannover for the final Europa League place. Hannover play Sunday.