Bayern Munich are just two points away from retaining their Bundesliga crown after a 3-1 win over Stuttgart at The Allianz Arena.
Bayern were forced to come from behind as Danijel Luboja gave the away side a shock sixth minute lead.
However, Bayern were soon level when Roque Santa Cruz (11) fired home and they went ahead just before the break through Claudio Pizarro.
The win was sealed by Bastian Schweinsteiger just after the break.
Werder Bremen sealed third spot with a their 5-3 win at bottom of the table Duisburg - who were relegated as a result.
Werder were in control from the off and raced into a three-goal lead after just 30 minutes thanks to Johan Micoud (4 & 16) and Mirsoslav Klose (30 pen).
Jung-hwan Ahn (40) and Abdelaziz Ahanfouf (45) gave the home side some hope as they pulled two back before the interval.
Klose added a fourth on 75 minutes, but Ahanfouf also immediately hit back with another just 60 seconds later.
Werder put the result beyond any doubt in the final moments thanks to a strike from Ivan Klasnic.
The defeat means Duisburg are now ten points off safety, and confirms their place in Bundesliga Zwei for next season.
Schalke can still mathematically catch Werder, as they are six points behind with two games left - but there is 19 goals separating them in terms of goal-difference.
Schalke did all they could with their 3-1 win over Arminia Bielefeld.
Gerald Asamoah put the home side ahead just before half time, but Marco Kuntzel levelled on 50 minutes. Schalke went back ahead through Soren Larsen ten minutes from time and Hamit Altintop added the third late on.
At the other end of the table their was a huge win for relegation threatened Mainz, which also helped relegate Cologne.
Mainz secured a 3-0 win at Wolfsburg - who are far from safe themselves.
Michael Thurk put Mainz ahead before two late goals from Benjamin Auer (81 & 87) sealed victory.
Main now move above Wolfsburg, who drop to fourth from bottom and just two points ahead of Kaiserslautern - who played out a 2-2 draw with Eintracht Frankfurt.
Sebastian Reinart put The Red Devils ahead, but the home side hit back in the second half and goals from Benjamin Kohler (50) and Ioannis Amantidis (69) gave them the lead.
However, Kaiserslautern struck back through Stefan Bohl and claimed what could be a crucial point.
Cologne are now relegated because Kaiserslautern and Wolfsburg play each other on the last day of the season meaning one of them will reach 34 points - which Cologne can't.