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 ...
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
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
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
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
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.
Having already faced Filip Kostic (r.) and Juventus in 2022/23, Freiburg and Ritsu Doan (l.) could end up going head-to-head with more of Europe's biggest names next term. - Christian Kaspar-Bartke/Getty Images
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
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.
Frankfurt have fond recent memories of Europe, having beaten Rangers on penalties to lift the UEFA Europa League in 2021/22. - Alex Pantling/Getty Images
The battle for Europe on Matchday 34 as it happened!
UNION IN HEAVEN
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.
Leverkusen hold on
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.
UNION CHAMPIONS LEAGUE
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!
Jordan into the action
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.
Away we go again
The second half whistles shrill around the grounds. Huge 45 minutes coming up in the Bundesliga.
As it stands
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.
Grifo goes close
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!
Wolves go close
Guilavogui has a shot cleared off the line by Richter as Wolfsburg look to turn the screw in the Lower-Saxony sunshine.
Bayer's race run?
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.
Götze goes close
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.
As it stands
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.
Streich calls for calm
Eintracht are knocking it about well with Götze menacing. On the touchline, Christian Streich calls for calm from his players.
B04 down to ten
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.
Union go close
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.
Bright in Berlin
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.
Away we go !
Matchday 34 is underway! The race for Europa is ON!
We're all set
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 ...
Leverkusen readyXabi Alonso's men are all set for their red letter day and here is how the Werkself line up for their encounter against Bochum: Hradecky (c) - Frimpong, Tah, Tapsoba, Bakker - Amiri, Palacios, Adli - Diaby, Azmoun, Wirtz
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
Team news There are two changes in the Eintracht side for today's European qualification spectacular against Freiburg: Makoto Hasebe and Jesper Lindstrom are in in place of Toure and Rode. There is just one change for Champions League chasing Freiburg, with Yannik Keitel in for the suspended Nicolas Höfler.
Eintracht starting XI
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
Freiburg starting XI
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
Team news!Defender Robin Knoche returns for the hosts after recovering from a cold while in midfield, Aissa Laidouni starts. Morten Thorsby is not in Union's squad. England's Lee Buchanan makes only his second start for the visitors, who also have Romano Schmid and Niklas Schmidt in from the get-go as part of three changes to Ole Werner's team.
Union starting XI
Ronnow - Doekhi, Knoche, Leite - Trimmel (c), Laidouni, Khedira, Haberer, Roussillon - Becker, Behrens
Grill, Gießelmann, Jaeckel, Juranovic, Seguin, Pantovic, Jordan, Leweling, Michel
Werder starting XI
Pavlenka - Veljkovic, Stark, Friedl (c) - Schmid, Bittencourt, Gruev, Schmidt, Buchanan - Füllkrug, Ducksch
Zetterer, Jung, Chiarodia, Mbom, Philipp, Dinkci
Who joins Union and Freiburg in Europe?
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.
History in the making?Freiburg have come a long way too, with Christian Streich's (pictured) team also looking to qualify for Europe's premier club competition for the first time in their history. Like Union, their progress in recent years has been startling. They reached a first DFB Cup final appearance last term and the last-16 of this year's Europa League. A top-four finish would be yet more progression under Streich.
© Simon Hofmann/Bundesliga/Bundesliga Collection via Getty Images
Union's remarkable journey
The tweet below is a great reminder of just how far Union have come as a club. Will Champions League football be the next stop on their remarkable journey?
Set the alarms
As we begin to settle in for a day high on drama, it's worth doing a little housekeeping. Team news will drop at approximately 2.30pm CEST, an hour prior to our 3.30pm kick-off. We'll be here to take you through all the action as we see how the chips fall and, if you're in the Bundesliga App, you can click the little alarm bell to turn on notifications and not miss a kick of any of today's games.
Focusing on the race for fourth, it's a straight shootout between Union and Freiburg, locked together on 59 points and separated by only four goals. It means that if one team gets a better result than the other, then they will be in the Champions League for the first time ever. If both teams draw, then Union are the ones to make history. But if both teams either win or lose, then it all comes down to goal difference and perhaps even goals scored, where the pair are again tied on 50 goals.
Who else will make it?The top three of Dortmund, Bayern and RB Leipzig are already assured of Champions League football again next season. It leaves one spot to be clinched, plus one each in the Europa and Europa Conference League - at the very least, since seventh place could also get in depending on where Frankfurt finish and who wins the DFB Cup between the Eagles and Leipzig.
Watch: Decision Day in the BundesligaWhile the Meisterschale mission understandably tops the bill, there is also much else still to play for on Matchday 34. At the bottom, four clubs are scrapping to the last to stay up, including traditional heavyweights VfB Stuttgart and Schalke. At the other end, a huge underdog success story is about to be written with the allocation of the final ticket to the UEFA Champions League – but will it go to Union Berlin or Freiburg? With some huge personalities bowing out as well, we’re all set for one emotional matchday.
All the action in one place
It's up to you how you follow race for Europe on Saturday. You can choose to follow our individual blogs (Union vs. Werder Bremen, Frankfurt vs. Freiburg, Bochum vs. Leverkusen and Wolfsburg vs. Hertha Berlin) as teams jostle to get into UEFA competition next season, or you can keep across all the thrills and spills from all those games in one place through this live blog.
Only one can make history
Welcome along to coverage of the final matchday of the 2022/23 Bundesliga season as the final European positions are determined. It's a straight shootout between Union Berlin and Freiburg for the final UEFA Champions League spot, while Bayer Leverkusen, Wolfsburg and Eintracht Frankfurt are competing for one - potentially two - other European berths.