Between them, the Bundesliga, Serie A and Ligue 1 had pretty much everything in 2022-23 and didn't disappoint.
Borussia Dortmund's extraordinary collapse in the last minutes of the season allowed Bayern Munich to snatch the title away from them and become champions of Germany for an 11th straight year despite having their worst season for a decade.
It was a similar story in France, where Paris Saint-Germain were underwhelming champions. It was left to Lens, three years after being in Ligue 2, to truly impress by finishing second in the top flight.
At least Serie A has champions who captured the imagination, with Napoli becoming champions in Italy for the first time in 33 years. This was after Juventus were docked 10 points for false accounting in the club's transfer dealings. Inter Milan may have beaten local rivals AC Milan to reach the Champions League final, but both local rivals were well off the title pace domestically.
There were big clubs getting relegated in each league, too, with Sampdoria and Schalke 04 both going down. One of Nantes or Auxerre will also be playing second-tier football next season.
Here the stories of each league are told through our best and worst XIs of the past 10 months.
- Stream on ESPN+: LaLiga, Bundesliga, more (U.S.)
Best XI of 2022-23 (4-4-2)
Goalkeeper: Frederik Ronnow (Union Berlin)
Defenders: Jeremie Frimpong (Bayer Leverkusen), Willi Orban (RB Leipzig), Nico Schlotterbeck (Borussia Dortmund), Raphael Guerreiro (Borussia Dortmund)
Midfielders: Moussa Diaby (Bayer Leverkusen), Jude Bellingham (Borussia Dortmund), Joshua Kimmich (Bayern Munich), Serge Gnabry (Bayern Munich)
Forwards: Christopher Nkunku (RB Leipzig), Randal Kolo Muani (Eintracht Frankfurt)
Manager: Urs Fischer (Union Berlin)
It should not come as a surprise that this team only has two Bayern Munich players in it. The miraculous champions have been average this season by their standards and it is reflected here, even if Jamal Musiala and Matthijs de Ligt were very close to making it. In goal, Frederik Ronnow has been superb for Union Berlin. His expected goals against (xGA) is 35 but he actually only conceded 27 goals in the league, and he kept 11 clean sheets in 29 games. His back four has two wonderful full-backs, Jeremie Frimpong from Leverkusen and Raphael Guerreiro from Dortmund, both very attack-minded, while there is experience at the back with Willi Orban and youth with Nico Schlotterbeck.
Jude Bellingham is the player of the season and he leads the midfield with Joshua Kimmich. On the wings, Moussa Diaby, who was excellent at Leverkusen under coach Xabi Alonso, starts on the right with Serge Gnabry, Bayern's best attacking player this season, on the left.
Up front, Christopher Nkunku missed half of the season through injury and still finished level with Niclas Fullkrug at the top of the scoring charts with 16 goals and four assists in his 20 starts (Werder Bremen's Fullkrug claimed one more assist, with five.) Next to him: another Parisian player in Randal Kolo Muani, who has been a huge revelation this season. The 24-year-old France international netted 15 times and assisted another 11 in the league, and took his game to the next level.
Worst XI of 2022-23 (4-2-3-1)
Goalkeeper: Manuel Neuer (Bayern Munich)
Defenders: Jonjoe Kenny (Hertha Berlin), Makoto Hasebe (Eintracht Frankfurt), Maxence Lacroix (VfL Wolfsburg), David Raum (RB Leipzig)
Midfielders: Julian Weigl (Borussia Monchengladbach), Ryan Gravenberch (Bayern Munich)
Forwards: Sadio Mane (Bayern Munich), Sardar Azmoun (Bayer Leverkusen), Patrik Schick (Bayer Leverkusen), Alassane Plea (Borussia Monchengladbach)
Manager: Daniel Farke (Borussia Monchengladbach)
This is a team full of disappointments, starting in goal with Manuel Neuer, who broke his leg on a post-World Cup skiing trip and missed the second half of the season. In defence, David Raum ended up losing his place in the Leipzig team while Maxence Lacroix has still not built on his excellent season from two years ago. Makoto Hasebe has been a great servant to Frankfurt, but he is looking every day of his 39 years now. And at right-back, Jonjoe Kenny was poor, like the whole of Hertha Berlin's relegated squad.
In midfield, Julian Weigl's return to the Bundesliga looked promising but the defensive midfielder was never able to raise his level in a very average Borussia Monchengladbach team. Ryan Gravenberch never even got a chance to show what he could do with Bayern after his move from Ajax.
Sadio Mane's move to Bayern was also a big letdown with just seven goals and five assists this season in the league. Patrik Schick spent most of the season injured and only played 14 games for Leverkusen. In his absence, Sardar Azmoun was poor (four goals and one assist only). At the tip of the attack, Alassane Plea had his worst-ever Bundesliga season with just two goals for Gladbach, and at just 30 years old, it feels like his best is behind him.
Best XI of 2022-23 (4-4-2)
Goalkeeper: Ivan Provedel (Lazio)
Defenders: Giovanni Di Lorenzo (Napoli), Kim Min-jae (Napoli), Lucas Martinez Quarta (Fiorentina), Carlos Augusto (Monza)
Midfielders: Rafael Leao (AC Milan), Nicolo Barella (Inter Milan), Stanislav Lobotka (Napoli), Khvicha Kvaratskhelia (Napoli)
Forwards: (Victor Osimhen (Napoli), Lautaro Martinez (Inter Milan)
Manager: Luciano Spalletti (Napoli)
The Serie A best team is obviously full of Napoli players -- five of them. Giovanni Di Lorenzo, Kim Min-jae, Stanislav Lobotka, Khvicha Kvaratskhelia and Victor Osimhen all make the cut while Alex Meret and Andre-Franck Zambo Anguissa are unlucky to miss out.
The other three teams making up this season's top four are all represented in goalkeeper Ivan Provedel (Lazio, second in the table), Lautaro Martinez and Nicolo Barella (Inter, third), and Rafael Leao (Milan, fourth). The two centre-forwards are the top two goal scorers in the league, with 25 for Victor Osimhen and 21 for World Cup-winner Lautaro Martinez.
Leao has been huge in key moments as well as bringing 13 goals and eight assists in 27 starts in the league, and Khvicha Kvaratskhelia has been the revelation of the season, not just in Italy but in the whole of Europe. His impact -- 12 goals, 10 assists and a million dribbles (approximately) -- has been incredible and he is a big reason why Napoli won the title. His teammates Di Lorenzo and Kim have been excellent all year long, too.
The two surprises are Lucas Martinez Quarta, very solid with Fiorentina this season at centre-back, and Carlos Augusto, superb with Monza at left wing-back all season long.
Worst XI of 2022-23 (4-2-3-1)
Goalkeeper: Samir Handanovic (Inter Milan)
Defenders: Juan Cuadrado (Juventus), Marash Kumbulla (AS Roma), Milan Skriniar (Inter Milan), Ricardo Rodriguez (Torino)
Midfielders: Paul Pogba (Juventus), Leandro Paredes (Juventus)
Forwards: Florian Thauvin (Udinese), Charles De Ketelaere (AC Milan), Divock Origi (AC Milan), Duvan Zapata (Atalanta)
Manager: Dejan Stankovic (Sampdoria)
There are some big names who find themselves on the roll of dishonour. Injuries have played a big part in why some of them have been picked, but these players have flopped badly. It took a long time (too long) for Inter coach Simone Inzaghi to bench Samir Handanovic and replace him with Andre Onana.
At the back, Milan Skriniar has played very little and managed to upset Inter and their fans for his desire to run his contract down and sign for PSG on a free. Marash Kumbulla has been terrible with Roma (only five starts, one red card) while 35-year-old Juan Cuadrado can't hold back the years.
Paul Pogba is in there because of the high hopes his arrival raised, only for injuries to destroy his season. Leandro Paredes has been fit all season, just not good enough. Charles De Ketelaere (zero goals in Serie A) and Divock Origi (two) have been poor signings for Milan so far. Duvan Zapata played a lot for very little return (two goals in 25 games). Finally, whatever the point of Udinese recruiting Florian Thauvin in January was, it had a negligible effect on their season.
Best XI of 2022-23 (4-3-1-2)
Goalkeeper: Brice Samba (Lens)
Defenders: Jonathan Clauss (Marseille), Kevin Danso (Lens), Chancel Mbemba (Marseille), Nuno Mendes (Paris Saint-Germain)
Midfielders: Seko Fofana (Lens), Valentin Rongier (Marseille), Branco van den Boomen (Toulouse)
Forwards: Lionel Messi (Paris Saint-Germain), Kylian Mbappe (Paris Saint-Germain), Alexandre Lacazette (Lyon)
Manager: Franck Haise (Lens)
Just between them, the front three of Lionel Messi (16 goals, 16 assists), Kylian Mbappe (28, five) and Alexandre Lacazette (27, five) has 97 goals contribution this season with a round of matches still to play.
If you combine the leadership and huge decisive goals of Seko Fofana, the intelligence and versatility of Valentin Rongier and the artful set-pieces of Branco van den Boomen, then you have an amazing midfield trio who complement each other so well. Each of these players has been a driving force for their team this season, and the main reason why each has been so successful.
Defensively, Ligue 1 had some great centre-backs again this year. The two picks went to Chancel Mbemba, who has been a rock with Marseille, and Kevin Danso, one of the revelations of the season at Lens. At left-back, Nuno Mendes is an obvious choice and was named best young player of the season by his peers, and on the right Jonathan Clauss has been good with Marseille, too. Finally, in goal, Brice Samba has experienced a wonderful season and was rewarded by a well-deserved France call-up.
Worst XI of 2022-23 (4-2-3-1)
Goalkeeper: Yvon Mvogo (Lorient)
Defenders: Youcef Atal (Nice), Mattia Vitti (Nice), Joe Rodon (Stade Rennais), Ismail Jakobs (AS Monaco)
Midfielders: Moussa Sissoko (Nantes), Houssem Aouar (Lyon)
Forwards: Takumi Minamino (AS Monaco), Carlos Soler (Paris Saint-Germain), Kamaldeen Sulemana (Stade Rennais), Hugo Ekitike (Paris Saint-Germain)
Manager: Peter Bosz (Lyon)
In goal, even though he had a decent season, Yvon Mvogo is in because of the ridiculous goal he conceded to Mbappe against PSG. There were big hopes for Mattia Vitti when he signed for Nice but he disappointed, like Joe Rodon at Rennes where he was on loan from Tottenham Hotspur. At right-back, Youcef Atal is a great talent but his body is letting him down with so many injuries. On the left, Ismael Jakobs has struggled at Monaco.
Moussa Sissoko was one the biggest signings in Ligue 1 last summer but he has not been able to carry Nantes and could yet be relegated. And what happened to Houssem Aouar? Despite playing a little bit more under Laurent Blanc, he has been a shadow of himself for a while now.
Attackingwise, Rennes could probably not believe it when Southampton paid €25m in January for Kamaldeen Sulemana considering how poor he had been. Carlos Soler never showed up for PSG this season, like Takumi Minamino at Monaco (one goal, three assists). Finally, Hugo Ekitike cost PSG €46m for just three goals and four assists all season.