Wolfsburg secured their Bundesliga survival on the final day of the season as Eintracht Frankfurt were relegated.
Frankfurt down; Monchengladbach in play-off; Wolfsburg survive
Wolfsburg secured their Bundesliga survival on the final day of the season as Eintracht Frankfurt were relegated.
The title and European places had already been confirmed, leaving the scrap for safety to take centre stage as the German league campaign drew to a close.
Eintracht Frankfurt will join bottom club St Pauli in the second tier next term after going down 3-1 at champions
Borussia Dortmund.
Sebastian Rode fired Frankfurt into a much-needed lead early in the second half but Dortmund showed the quality that has set them apart from the rest of the division with a stunning comeback.
Lucas Barrios scored twice to turn the game on its head before Robert Lewandowski completed the scoring on a miserable afternoon for Frankfurt.
Borussia Monchengladbach finish third from bottom following a 1-1 draw with
Hamburg and must now prepare for a relegation play-off against the third-placed team from 2. Bundesliga, Bochum.
Juan Arango's opener for Monchengladbach was cancelled out by Anis Ben-Hatira as Hamburg ended the season without a win in their last seven games.
Wolfsburg started the day just outside the drop zone and stayed afloat after coming from behind to win 3-1 at
Hoffenheim.
Roberto Firmino broke the deadlock for Hoffenheim, only for Wolfsburg to hit back courtesy of a Mario Mandzukic double and Sascha Riether's late strike.
Champions League spot
Hanno Balitsch's deflected goal was enough as
Bayer Leverkusen beat
Freiburg 1-0 to secure second place in the table - and an automatic spot in the UEFA Champions League.
Balitsch scored the game's only goal in the 45th minute as Leverkusen held on for the runner-up position.
Bayern Munich extended their undefeated streak to nine games with a 2-1 win over
Stuttgart but had to settle for a third-place finish.
Stuttgart went ahead after 24 minutes through Shinji Okazaki before Mario Gomez equalised in the 37th minute and Bastian Schweinsteiger secured the victory with a goal after 71 minutes.
Hannover rallied for a 3-1 win over
Nurnberg to seal a fourth-placed finish and a return to European action for the first time in nearly 20 years.
Nurnberg took the lead in the 25th minute through Julian Wiessmeier before Kaim Haggui equalised in the 30th minute. Konstantin Rausch made it 2-1 for Hannover after 60 minutes and Didier Ya Konan finished off the scoring from the spot in the 79th minute.
Kaiserslautern held off battling
Werder Bremen 3-2 to conclude a great first season back in the Bundesliga with a thrilling victory at the Fritz-Walter-Stadion.
Last season's 2.Bundesliga champions have been one of this campaign's surprise packages, with three points today ensuring they finish in a highly creditable seventh place.
They took the lead through Adam Nemec on seven minutes before further efforts by Francisco Rodnei and Srdjan Lakic appeared to have the result decided inside half an hour.
But Bremen pulled one back through Torsten Frings just before the break and then, after Frings missed a penalty on 52 minutes, got to within a goal when Marko Arnautovic netted.
Two second-half goals saw Europa League qualifiers
Mainz come from behind to beat bottom-of-the-table
St Pauli 2-1.
Despite securing European football for next year Mainz had lost seven games at home this campaign and it looked like they may lose an eighth after Mathias Lehmann had given Christian Heidel's side the lead just before half-time.
But the home side hit back in the second half thanks to an Andre Schurrle penalty and a late Sami Allagui goal.
Cologne finished their season on a high by seeing off
Schalke 2-1 for their third straight victory.
Milivoje Novakovic put Cologne ahead after 25 minutes and Mato Jajalo made it 2-0 in the 60th minute. Schalke struck the woodwork three times before finally cutting the deficit to 2-1 after 87 minutes through Raul.