Bundesliga
Urs Fischer's side made history by securing a first-ever Champions League qualification. The Irons will join Bayern Munich, Borussia Dortmund and RB Leipzig at Europe's top table next season.
>>> See how the race for Europe played out on the final day!
bundesliga.com rounds up who finished where in what turned out to be a scintillating battle for continental football ...
Bayern Munich
Position: 1st (Champions League group stage)
Points: 71 (34 games)
Goals: 92-38 (+54)
Bayern guaranteed Champions League football on Matchday 31, thanks to their win in Bremen and defeats for Union and Freiburg. They made sure of their presence in Pot 1 when the group stage draw takes place by winning their 11th straight Bundesliga title on an afternoon of high drama on the last day of the season. Thomas Tuchel's team pipped previous league leaders and rivals Borussia Dortmund to the Meisterschale thanks to a 2-1 win in Cologne and the Bavarians will lead Germany's charge into European football's elite competition as a result.
Watch: Bayern take the title on the last day of the season
>> How does European qualification work in the Bundesliga
Borussia Dortmund
Position: 2nd (Champions League group stage)
Points: 71 (34 games)
Goals: 83-44 (+39)
Dortmund have qualified for the Champions League for the 12th time in 13 seasons, but their true objective was to bring home the Meisterschale for the first time since 2011/12, when Jürgen Klopp guided them to a second consecutive title. After Leipzig did Die Schwarzgelben a huge favour with their 3-1 victory at Bayern on Matchday 33, Dortmund subsequently took full advantage with a 3-0 win at Augsburg. However, leading the division and with the title seemingly within their grasp, the Black-and-Yellows could only draw 2-2 at home to Mainz. Bayern's win in Cologne meant that Dortmund had to settle for second.
Watch: Not to be - BVB falter on final day
RB Leipzig
Position: 3rd (Champions League group stage)
Points: 66 (34 games)
Goals: 64-41 (+23)
Leipzig's win over Bayern confirmed their participation in the Champions League for the sixth time in seven seasons. Their chances of qualifying for the competition looked to be up in the air just a few weeks ago, but four consecutive victories, including wins against fellow contenders Union and Freiburg, put them in pole position, while the triumph away at Bayern got the job done with a game to spare.
Watch: Timo Werner's Goal of the Season contender from Matchday 28
>>> Make your predictions for the upcoming matchday!
Union Berlin
Position: 4th (Champions League group stage)
Points: 62 (34 games)
Goals: 51-38 (+13)
Competing in only their fourth season of Bundesliga football, Union confirmed a very first foray into the Champions League with a final day win at home to Werder Bremen. Rani Khedira netted the winner in the 81st minute of that Matchday 34 encounter to send the Stadion An der Alten Försterei into raptures as Union held off closest challengers Freiburg, whom they ultimately finished three points ahead of in the final Bundesliga standings.
Watch: Union Berlin's fairy-tale rise
Freiburg
Position: 5th (Europa League group stage)
Points: 59 (34 games)
Goals: 51-44 (+7)
Freiburg finished sixth last season and upset the apple cart again in 2022/23, even briefly topping the Bundesliga table in early September. Having faced the likes of the mighty Juventus in the Europa League this term, the Black Forest side were given a taste of what Champions League football might be all about. On the final day of the season, Christian Streich's men were even in pole position to qualify at one point, momentarily leapfrogging fourth-placed Union when Vincenzo Grifo's goal gave his team the lead at Eintracht Frankfurt. The hosts fought back to win 2-1, however, and with the Berliners bagging a late win, Freiburg were headed back to the Europa League as a result of finishing an admirable fifth.
Bayer Leverkusen
Position: 6th (Europa League group stage or UEFA Europa Conference League play-off round)
Points: 50 (34 games)
Goals: 57-49 (+8)
Leverkusen's top-six hopes looked to have hit a roadblock on Matchday 31 as they lost 2-1 at home to Rhine rivals Cologne. The beaten Europa League semi-finalists drew with Stuttgart on Matchday 32 and a second straight draw, at home to Borussia Mönchengladbach, saw them left in a final-day tussle for sixth. Die Werkself held a single-point advantage in that particular race, but relegation-threatened Bochum proved to be a nightmare for Xabi Alonso's side on the final day. Reduced to ten men, the visitors ended up being hammered 3-0 as Bochum secured their Bundesliga status. With Wolfsburg - who at one point moved ahead of Bayer in the standings on the last day - eventually losing at home to Hertha Berlin, however, Bayer were given a huge reprieve and can count on European nights at the BayArena next season.
Watch: How Xabi Alonso has improved Leverkusen
Eintracht Frankfurt
Position: 7th (Europa League group stage or UEFA Europa Conference League play-off round)
Points: 50 (34 games)
Goals: 58-52 (+6)
If Frankfurt were to lift a sixth DFB Cup, they would qualify directly for the group stage of the Europa League, which they won in 2021/22. Should they fail to triumph in the Pokal showpiece against Leipzig on 2 June, Die Adler will welcome a UEFA Conference League challenge thanks to their final day, come-from-behind win against Freiburg, which lifted Eintracht into seventh spot. Randal Kolo Muani and Éric Dina Ebimbe got the Matchday 34 goals that helped the Eagles to soar on Oliver Glasner's last Bundesliga game in charge of the team from Mainhatten.