​Borussia Dortmund 4 – 3 Werder Bremen
Borussia Moenchengladbach 2 – 2 Darmstadt
Eintracht Frankfurt 2 – 2 RasenBallsport Leipzig
FC Cologne 2 – 0 Mainz 05
Hamburger SV 2 – 1 Wolfsburg
Hertha Berlin 2 – 6 Bayer Leverkusen
Hoffenheim 0 – 0 Augsburg
Ingolstadt 1 – 1 Schalke 04
Bayern Munich 4 – 1 Freiburg
- Bayern Munich 4 – 1 Freiburg
Xabi Alonso brought the curtain down on his glittering career in style with an assist in his final match as a professional footballer.
Alonso, club captain Philipp Lahm and reserve goalkeeper Tom Starke all started their last matches in club football as Bayern Munich closed the season with a 4-1 win against Freiburg at the Allianz Arena.
Arjen Robben opened the scoring early, but there were to be no further goals until Arturo Vidal scored in the final 20 minutes.
Nils Petersen pulled one back against his former side, before Franck Ribery and Joshua Kimmich completed the scoring in added time.
- ​Borussia Dortmund 4 – 3 Werder Bremen
Pierre-Emerick Aubameyang’s late penalty sealed a 4-3 win for Borussia Dortmund against Werder Bremen to guarantee them direct qualification into the Champions League group stages for next season. Hoffenheim, who could only draw at home with Augsburg 0-0, will enter via the qualifiers.
Zlatko Junozovic had put Bremen ahead in the 7th minute before Marco Reus and Aubameyang, with goals in the 32nd and 42nd minutes, had Thomas Tuchel’s men ahead at the break.
However, Fin Bartels and Max Kruse scored to put Bremen back in front before Reus and Aubameyang both scored from the spot in the 75th and 89th minutes to secure victory.
- Eintracht Frankfurt 2 – 2 RasenBallsport Leipzig
Leipzig lost a 2-0 lead in the final seven minutes of their final game, as Jesus Vallejo and Danny Blum scored to earn Eintracht Frankfurta 2-2 draw.
Marcel Sabitzer and Yussuf Poulsen had put Leipzig in charge as they completed a fairytale debut campaign in the top flight.
- Hoffenheim 0 – 0 Augsburg
Hoffenheim drew 0-0 with Augsburg to finish fourth.
- FC Cologne 2 – 0 Mainz 05
Yuya Osako scored one and set up another as Cologne beat Mainz 2-0 to qualify for the Europa League.
Osako laid on a goal for Jonas Hector two minutes before half-time before getting his name on the scoresheet with three minutes of the game remaining to help Cologne finish fifth.
- Hertha Berlin 2 – 6 Bayer Leverkusen
Hertha Berlin sealed the other Europa League place, despite losing 6-2 against Bayer Leverkusen.
Javier “Chicharito” Hernandez, Kai Havertz (2), Stefan Kiessling, Charles Aranguiz and Joel Pohjanpalo all scored for Leverkusen, while Mitchell Weiser and Sami Allagui scored late consolations for Hertha.
- Hamburger SV 2 – 1 Wolfsburg
Luca Waldschmidt scored a late winner to condemn Wolfsburg to Bundesliga’s relegation play-off spot and help Hamburg escape another dice with the drop.
Wolfsburg, who lost to Real Madrid in the Champions League quarter-finals last year, must tackle a team from Germany’s second tier to determine their Bundesliga fate.
They face a two-legged play-off against the third-placed side in Bundesliga 2 – who were Eintracht Braunschweig ahead of Sunday’s final round of fixtures.
Needing victory to avoid the play-off after starting the final game in the bottom three, Hamburg snatched victory with Waldschmidt’s 88th-minute winner.
Robin Knoche had put Wolfsburg ahead but Filip Kostic levelled, and Waldschmidt delighted the Hamburg support when he headed in.
- Ingolstadt 1 – 1 Schalke 04
Ingolstadt bowed out of the Bundesliga with a 1-1 draw at home to Schalke.
Schalke took the lead in the second minute through Donis Avdijaj, but Pascal Gross levelled for Ingolstadt from the penalty spot.
Schalke’s Benjamin Stambouli saw red, but Dario Lezcano missed the resulting penalty.
- Borussia Moenchengladbach 2 – 2 Darmstadt
Already-relegated Darmstadt drew 2-2 with Borussia Monchengladbach.
Darmstadt came from behind twice through Sven Schipplock and Marcel Heller to level after goals by Thorgan Hazard and Raffael.