The race to join Bundesliga champions Bayern Munich and Borussia Dortmund in the UEFA Champions League, the UEFA Europa League qualification places and two-way scrap for a shot at redemption via the relegation play-offs went right down to the wire on a dramatic final day of 2019/20.
UEFA Champions League
The stakes: the top four qualify directly for the Champions League group stage
1. Bayern Munich (CHAMPIONS, 82 points, +68 goal difference)
2. Borussia Dortmund (RUNNERS-UP, 69, +43)
3. RB Leipzig (66, +44)
4. Borussia Mönchengladbach (65, +26)
5. Bayer Leverkusen (63, +17)
Bayern already had the title sewn up with two games to spare, while Dortmund were guaranteed to finish as runners-up once more. Leipzig - leaders at the halfway stage - were all but certain to join them, regardless of their result against Augsburg, thanks to their superior goal difference on the chasing pack. Essentially it was down to Borussia Mönchengladbach and Bayer Leverkusen - fourth at fifth at the start of play - as to who would follow the top three in the Champions League groups.
Gladbach held all the cards. A point better off with a game to go, all they had to do was match or better fifth-placed Leverkusen's result. The Foals duly kept up their end of the bargain, beating Hertha Berlin 2-1. Jonas Hofmann and Breel Embolo had Marco Rose's men 2-0 heading into the final 12 minutes, with Kevin Volland striking for Leverkusen against Mainz inside the opening two minutes. Vedad Ibisevic pulled one back in injury time for Hertha, but Gladbach held on to pip Bayer to the post.
Leipzig were also victorious in Augsburg as Timo Werner signed off ahead of his summer move to Chelsea with his club-record 94th and 95th goals, securing a second successive third-placed finish for the Saxony club.
Bayern finished 10 points clear at the summit following their 4-0 rout of Wolfsburg. Dortmund lost to Hoffenheim by the same scoreline.
UEFA Europa League
The stakes: 5th and 6th go into the group stage, 7th goes into the second qualifying round
5. Bayer Leverkusen (63, +17)
6. Hoffenheim (52, 0)
7. Wolfsburg (49, +2)
A place in the Europa League group stage was the minimum Leverkusen could achieve, leaving Wolfsburg and Hoffenheim to fight it out to join them. The Bundesliga's remaining Europa League berth would only be enough for a place in the competition's second qualifying round.
Wolfsburg held the advantage in the pre-Matchday 34 standings by virtue of their superior goal difference, leaving Hoffenheim needing to better the Wolves' result in order to climb from seventh to sixth.
Wolfsburg got off to the worst possible start when Kingsley Coman gave Bayern a fourth-minute lead. They went in at half-time trailing 2-0, while two Andrej Kramaric goals fired Hoffenheim into the driving seat in Dortmund. By the time Bayern added a third, Kramaric had taken his and his side's tally to four. Wolfsburg also went down 4-0 in the end, allowing Hoffenheim direct entry into the Europe League group stage at their expense. The long, hard slog that is the qualifying rounds now awaits Wolfsburg.
Teams with only final league positions to play for on Matchday 34
8. Freiburg (48, +1)
9. Eintracht Frankfurt (42, -1)
10. Hertha Berlin (41, -11)
11. Union Berlin (41, -17)
12. Schalke 04 (39, -16)
13. Mainz (37, -21)
14. Cologne (36, -18)
15. Augsburg (36, -18)
After beating Fortuna Düsseldorf 3-0, Bundesliga first-timers Union Berlin climbed a place to 11th in the final standings. Schalke dropped to 12th as a result, having gone down 4-0 to eighth-in-the-table Freiburg. The result extended the Royal Blues' club record winless run to 17 matches.
Eintracht Frankfurt also took maximum points, beating basement boys Paderborn 3-2. Cologne, though safe themselves, had a decisive say in the outcome of the relegation battle...
The stakes: 16th place provides the potential safety net of a home & away play-off with the team that comes third in Bundesliga 2, 17th place means automatic relegation. Paderborn had already been relegated.
16. Werder Bremen (31, -27)
17. Fortuna Düsseldorf (30, -31)
18. Paderborn (20, -37)
Düsseldorf had their fate in their own hands ahead of their trip to Berlin to face Union, knowing maximum points would be enough for the play-offs - but the footballing Gods conspired against them. At half-time around the grounds, Bremen had taken a 3-0 lead in Cologne and climbed up to 16th in the live standings at the expense of Fortuna, who trailed Union to a goal from Werder old boy Anthony Ujah.
Werder left their foot on the gas in the second half, eventually running out 6-1 winners. Even if Düsseldorf had pulled a goal back and drawn in Berlin, it still wouldn't have been enough to reclaim 16th. A 3-0 defeat coupled with the Green-Whites' emphatic result confirmed their worst fears.
Bremen will face Heidenheim in the play-offs for the right to play in the 2020/21 Bundesliga; Fortuna join rock-bottom Paderborn in the second tier.