Bayern Munich clinched a UEFA Champions League spot by thrashing bottom club St Pauli as Borussia Monchengladbach climbed out of the automatic relegation places.
Eintracht Frankfurt slipped into the bottom two after losing at home to Cologne and champions Borussia Dortmund were beaten at Werder Bremen.
Mario Gomez plundered a hat-trick as Bayern romped to an 8-1 success at St Pauli to rubberstamp their opponents' relegation from the Bundesliga.
Gomez scored after just 10 minutes and Belgium international defender Daniel van Buyten increased the lead before half-time.
Striker Gomez notched again on 52 minutes, Arjen Robben scored two minutes later and Franck Ribery added another before Marcel Eger replied for St Pauli.
However, Robben netted his second of the afternoon with six minutes to go, Gomez then completed his hat-trick before Ribery helped himself to Bayern's eighth of the game on 87 minutes.
Joining St Pauli in the bottom two are Eintracht Frankfurt who lost 1-0 at home to Cologne courtesy of Adil Chihi's 24th minute goal.
Gladbach gave themselves a great chance of staying up after leaving it late to win 2-0 at home to 10-man Freiburg.
Omar Toprak was sent off for Freiburg midway through the second half for two bookable offences and Mike Hanke finally made the breakthrough for Gladbach with 10 minutes to go.
Marco Reus scored the second just two minutes later before Freiburg's in-demand striker Papiss Demba Cisse hit the bar before full-time.
Wolfsburg are only a point outside the bottom two after letting a lead slip to lose 2-1 at home to Kaiserslautern.
Mario Mandzukic scored after six minutes for Wolfsburg, but Kaiserslautern had the game won by half-time following goals from Srdjan Lakic and Martin Amedick.
Hannover's hopes of qualifying for the Champions League were crushed after a 2-1 defeat away to Stuttgart.
Tamas Hajnal and Shinji Okazaki scored in the space of three second-half minutes to put Stuttgart in command before Lars Stindl struck a consolation for Hannover.
Leaders Dortmund appear to be in party mode after going down to a 2-0 loss away to Werder Bremen.
Former Manchester United defender Mikael Silvestre opened the scoring on six minutes and ex-Chelsea striker Claudio Pizarro notched the second on 64 minutes.
Second-placed Bayer Leverkusen came from behind to draw 1-1 at home to Hamburg, who took a second minute lead through Heiko Westermann.
Stefan Kiessling's 54th minute goal earned Leverkusen a point which could have been three had Arturo Vidal not been denied by the post with nine minutes to go.
Fresh from being knocked out of the Champions League semi-finals by Manchester United in midweek, Schalke slumped to a 3-1 home defeat by Mainz.
Half-time substitute Klaas-Jan Huntelaar gave Schalke the lead just two minutes after coming on, but Mainz took the points through goals from Andre Schurrle, Lewis Holtby and Nikolce Noveski.
Former Reading midfielder Gylfi Sigurdsson scored an 86th minute winner as Hoffenheim came from behind to win 2-1 at Nurnberg.
Christian Eigler hit the bar early on for Nurnberg, who took the lead through Philipp Wollscheid before Roberto Firmino equalised before half-time.