The top of the Bundesliga table was all but set coming into the final day, but relegation had yet to be decided.
On the final day, Stuttgart - 10th in late February - is going down, unable to pull themselves out of the relegation zone.
In addition, Werder Bremen looked to be stifled by the Eintracht Frankfurt back line, meaning Die Werderaner would have been headed to the relegation playoff on goal difference. Instead, they found a winner, meaning Frankfurt will now face the imposing task of ensuring their safety in a playoff.
Wolfsburg 2-1 Stuttgart
The final day was curtains for Stuttgart, who were in 10th position after a draw with Schalke on February 21, but won just one match since and lost their final six in a stunning collapse. Wolfsburg went 2-0 up before halftime thanks to goals from Maxi Arnold and Andre Schurrle, and a 78th minute consolation from Daniel Didavi wasn’t enough for the club that needed a win and some help to pull out of the bottom three. Next season will mark the first time Stuttgart will not be in Germany’s top flight in 41 years.
Wolfsburg, meanwhile, finishes in 8th with 45 points, a bit of a disappointment following last year’s stunning campaign.
Werder Bremen 1-0 Eintracht Frankfurt
All Frankfurt needed was a draw and they were ensured safety. They had that draw through regulation, with the score level at 0-0 and just injury time to navigate. They couldn’t do it.
Bremen defender Papy Djilobodji scored in the first minute of added time, and the goal moved Werder Bremen into the safety of 15th, above Frankfurt, who now must face Nurnberg in the relegation playoff.
Bayern Munich 3-1 Hannover
The confirmed champions finished the season with a win as a brace from Mario Gotze in possibly his final match with Bayern saw them over Hannover. Robert Lewandowski scored as well, and Artur Sobiech bagged Hannover’s lone goal, just the 17th scored on Bayern this season. The points put Bayern at 88 on their championship campaign, while Hannover finishes bottom of the table with 25 points.
Borussia Dortmund 2-2 Cologne
Dortmund found themselves 2-1 down after Milos Jojic scored for the visitors just after halftime, but Dortmund finished on a high note as Marco Reus drew them level 15 minutes from full-time.
Other scores
Bayer Leverkusen 3-2 Ingolstadt
Augsburg 1-3 Hamburg
FC Mainz 0-0 Hertha Berlin
Hoffenheim 1-4 Schakle