Pierre-Emerick Aubameyang scored twice in Borussia Dortmund’s 4-3 win over Werder Bremen on Saturday to finish as the Bundesliga’s top-scorer and seal his side’s direct Champions League place on a dramatic final day of the season.
Aubameyang finished with 31 goals, one more than Bayern Munich’s Robert Lewandowski, who failed to score in the champions’ 4-1 home win over Freiburg.
There was drama at the bottom of the table as Hamburg guaranteed their survival with an 88th-minute goal to seal a 2-1 win over Wolfsburg.
Two minutes after coming on, Luca Waldschmidt’s header, the day after his 21st birthday, sealed Hamburg’s win which lifted them to 14th and dropped Wolfsburg to 16th.
With Darmstadt and Ingolstadt already relegated, the 2009 German champions, now face a two-legged relegation play-off to stay up.
In Munich, Bayern were handed the Bundesliga trophy for the fifth season in a row, extending the record for most wins, and finished with a 15-point margin.
Bayern farewelled Philipp Lahm and Xabi Alonso, both World Cup winners, who are retiring after glorious careers.
It was the eighth time Lahm has won the Bundesliga, his fifth as captain, putting him equal with Bayern legends Oliver Kahn, Bastian Schweinsteiger and Mehmet Scholl.
Arjen Robben got the party started in Munich by giving the hosts the lead after just four minutes when he slotted home Alonso’s superb diagonal pass.
Bayern doubled their lead when Arturo Vidal’s curling shot beat the Freiburg goalkeeper on 73 minutes.
Ex-Bayern striker Nils Petersen came on to claim Freiburg’s consolation on 76 minutes and set a new record of 19 Bundesliga goals off the bench.
Franck Ribery and Joshua Kimmich scored injury-time goals to seal Bayern’s win.
There was drama in Dortmund’s seven-goal thriller as Marco Reus and Aubameyang both converted second-half penalties to seal Borussia’s comeback win.
Dortmund defender Marc Bartra made his first appearance since fracturing his right wrist in the April 11 bomb attack on the Borussia team bus.
Werder took the lead when Zlatko Junuzovic stabbed home from close range, but Reus equalised with half an hour gone.
Aubameyang scored his 30th league goal – arguably his best this season – with a superb volley from a deft chip to Ousmane Dembele over the Bremen defence on 42 minutes.
However, less than a minute into the second half, Fin Bartels slammed home after a great run from Max Kruse to make the score 2-2.
Despite his midweek snub for the Confederations Cup, Kruse showed Germany coach Joachim Loew what he is missing by chipping home Bremen’s third goal on 68 minutes.
But Reus slotted home a 75th-minute penalty to equalise before Aubameyang drilled home Dortmund’s second spot kick to take the Golden Cannon as the Bundesliga’s top scorer.
The win means Dortmund finish third while Hoffenheim, who were held to a goalless draw at home to Augsburg, end up fourth to secure a Champions League play-off place.
Second-placed RB Leipzig finished their first season in Germany’s top-flight with a 2-2 draw against Eintracht Frankfurt with goals by Marcel Sabitzer and Yussuf Poulsen.
Emil Forsberg set up Poulsen for RB’s second to claim his 22nd assist of the season.
It broke Kevin de Bruyne’s record of 21 set in the 2014/15 season at Wolfsburg before he left to join Manchester City.