Bundesliga
Bayern Munich, Borussia Dortmund, RB Leipzig, Union Berlin, Freiburg, Bayer Leverkusen and Eintracht Frankfurt will represent the Bundesliga in UEFA competition next season.
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. They then capped a fine season by successfully defending the DFB Cup.
Watch: Timo Werner's Goal of the Season contender from Matchday 28
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 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)
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 10 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. As DFB Cup winners Leipzig had already secured a top-six finish in the Bundesliga, Leverkusen gain entry to the Europa League group stage, with seventh going into the Conference League play-off instead.
Watch: How Xabi Alonso has improved Leverkusen
Eintracht Frankfurt
Position: 7th (Europa Conference League play-off round)
Points: 50 (34 games)
Goals: 58-52 (+6)
Had Frankfurt not lost the DFB Cup final to Leipzig, they would have qualified directly for the group stage of the Europa League, which they won in 2021/22. As it is, Die Adler will welcome a UEFA Conference League challenge next term, thanks to their final day win against Freiburg, which lifted Eintracht into seventh spot. Randal Kolo Muani and Eric 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. However, they will have to win a two-legged play-off in order to reach the tournament proper.
The battle for Europe on Matchday 34 as it happened!
What a day in Köpenick. The Stadion An der Alten Försterei is still rocking after Rani Khedira's late goal won the day against Werder Bremen and sent Die Eisernen into the Champions League for the first time. Football. Bloody hell.
The visitors to Bochum were reduced to ten men and subsequently lost 3-0 against Thomas Letsch's men, who achieved their Bundesliga safety as a result. Yet with Wolfsburg losing, Bayer landed sixth spot, level on points with Eintracht but ahead on goal difference.
It was a gallant effort from Christian Streich's side, but they lose to Eintracht Frankfurt having been ahead at Deutsche Bank Park. When the dust settles in the Black Forest, a fifth-place finish will be more than well received.
At one point, the Wolves were in sixth and cruising against relegated Hertha, but Niko Kovac's side conceded twice and - with Eintracht winning at home to Freiburg - finish in eighth.
Urs Fischer shakes his head in disbelief as the final whistle sounds out in Berlin. Union are into the UEFA CHAMPIONS LEAGUE, four years after achieving promotion to the top flight. What an insane achievement.
It's another goal for the men from Frankfurt at home to Freiburg. Dina Ebimbe has put Die Adler ahead and that looks to be that for Freiburg's Champions League hopes.
Leverkusen have fallen further behind against Bochum. It's 3-0 to the men in blue. With Wolfsburg still losing against Hertha, though, the Werkself are a point ahead of of the Wolves in sixth.
That man Randal Kolo Muani has netted his 14th goal of the season and Frankfurt are level at home against Freiburg. Union's position in fourth now looks even stronger.
Union captain Rani Khedira rolls a shot in off the upright and Union are ahead! The stadium erupts!!! Union are heading into the Champions League as things stand!
USMNT international Jordan is on for Union, who need to find an equaliser or cede their Champions League spot to Freiburg, who are still winning in Frankfurt.
Still no breakthrough for The Irons, who continue with the patient build-up as the clock ticks down.
Amazing. Having previously led, Wolfsburg have fallen behind at home to Hertha. Marco Richter has scored in the 68th minute in Lower Saxony and Wolfsburg drop below Leverkusen, who are losing in Bochum, in the standings.
Christian Günter is on for Freiburg. Can the club captain help to see his side through in this one? Chistian Streich's men are in the final Champions League berth right now, remember.
The Union captain sends a whipping free kick to the far post. The ball just evaded all comers and Werder survive.
Well now. Ibrahim Maza has found an equaliser for already relegated Hertha in Wolfsburg. It's 1-1 at the Volkswagen Arena, but the hosts are just ahead of Leverkusen in sixth spot in the standings. Those teams are level on points, but Wolfsburg have a better goal difference by one!
The visitors in Frankfurt are looking for a second. Doan tees up Grifo, whose shot is deflected off target.
Roussillon batters a shot at the Werder goal. Pavlenka gets down and beats that one wide. Roussillon gives it the arms in the air, asking the home fans for more noise.
The second half whistles shrill around the grounds. Huge 45 minutes coming up in the Bundesliga.
With half-time whistles sounding around the grounds, the race for European places is hotting up. Freiburg are currently in fourth, with Union, scoreless at home to Werder, dropping to fifth. Elsewhere, Wolfsburg have moved up ahead of Leverkusen into sixth.
It's almost a second for Grifo, whose sweetly struck free-kick is palmed out by Trapp.
The visitors are ahead in Frankfurt against the run of play!! That man Grifo has netted his 15th goal of the season to lift the Black Forest side into fourth!
Guilavogui has a shot cleared off the line by Richter as Wolfsburg look to turn the screw in the Lower-Saxony sunshine.
While they're aiming for a fourth-place finish, Union and Freiburg are already guaranteed Europa League football next season as a minimum. Behind them, Bayer Leverkusen currently occupy sixth-place and its route into the 2023/24 Europa Conference League, with Wolfsburg and Frankfurt also in the running. Frankfurt can still claim a Europa League berth of their own if they win the DFB Cup, while a Leipzig victory would see sixth take the extra UEL spot and seventh qualify for the UECL.
It's party time in Bochum, where Asano has doubled the hosts' lead against the ten-men of Leverkusen. A comeback from here is a tough ask for Xabi Alonso's men, who look like ceding sixth place to Wolfsburg today.
Mario Götze's curler to the top right-hand corner is headed out by Ginter, who saved Freiburg's bacon there. That was in all the way until the defender's intervention.
The hosts are in the ascendency against Champions League chasing Freiburg, with Oliver Glasner's Pokal finalists creating the better chances.
The Bundesliga's leading goalscorer, Niklas Füllkrug, in action here against Union, has seen his lead at the head of the scoring charts narrowed to just one goal, with Christopher Nkunku, the man playing catch-up, on target in Leipzig's game against Schalke.
With no goals in the games involving Union and Freiburg, it's the former who remain in that last Champions League place right now. Wolfsburg are up to sixth while Leverkusen - who are losing - are seventh, trailed by Eintracht.
Niklas Schmidt has had to come off with a head injury for Werder against Union. Maximilian Philipp is on.
Leverkusen are behind. A super ball from Asano out on the right is met by Förster, who stretches and volleys home. B04, down to ten men and facing a superb atmosphere, have a challenge on their hands now.
Eintracht are knocking it about well with Götze menacing. On the touchline, Christian Streich calls for calm from his players.
Amine Adli has been sent off early doors for Leverkusen in Bochum. Xabi Alonso's men are up against it now. Remember, they've dropped down to seventh with Wolfsburg ahead in their game.
The Berliners have a penalty. Or do they? The referee has been called to check on Buchanan's challenge on Haberer. Nope, that was a clean challenge.
Trimmel heads to Becker who'se nod at the target is deflected over. That was a good chance for for the hosts.
A super start for the Wolves, who take the lead in only the second minute of their game against Hertha Berlin. Jakub Kaminski is the man on target at the Volkswagen Arena. Wolfsburg leapfrog Leverkusen into sixth as it stands.
A super day in Berlin, with the sun shining brightly in Köpenick. Both teams look content to knock it about in these early stages as fans of either side make plenty of noise.
Matchday 34 is underway! The race for Europa is ON!
The seconds are counting down to a nail-biting last day in the Bundesliga. We're soon to find out who will grab those key European slots! Here we go ...
Here is Wolfsburg's line-up as coach Niko Kovac aims to outwit relegated Hertha Berlin: Casteels - Bornauw, Guilavogui, van de Ven - Baku, F. Nmecha, Arnold (c), Gerhardt, Kaminski - Wimmer, Wind
Trapp (c) - Tuta, Hasebe, N’Dicka - Buta, Kamada, Sow, Lenz - Lindstrom, Götze - Kolo Muani
Ramaj, Max, Toure, Chandler, Jakic, Dina-Ebimbe, Aaronson, Knauff, Borre
Flekken - Lienhart, Ginter (c), Schmidt - Sallai, Eggestein, Keitel, Weißhaupt - Doan, Höler, Grifo
Atubolu, Günter, Gulde, Kübler, Wagner, Jeong, Schmid, Gregoritsch, Petersen
Ronnow - Doekhi, Knoche, Leite - Trimmel (c), Laidouni, Khedira, Haberer, Roussillon - Becker, Behrens
Grill, Gießelmann, Jaeckel, Juranovic, Seguin, Pantovic, Jordan, Leweling, Michel
Pavlenka - Veljkovic, Stark, Friedl (c) - Schmid, Bittencourt, Gruev, Schmidt, Buchanan - Füllkrug, Ducksch
Zetterer, Jung, Chiarodia, Mbom, Philipp, Dinkci