Manchester City scraped into the play-offs, Lille gatecrashed the top eight and Liverpool finished at the summit despite losing after a breathless final night of the new-look Champions League group phase.
City, champions two seasons ago, trailed to Raphael Onyedika’s goal for Club Brugge but second-half strikes from Mateo Kovacic and Savinho, either side of a Joel Ordonez own goal, saw them secure 22nd place in the 36-team table.
Incredibly, they will face either Bayern Munich or Real Madrid for a place in the last 16.
Lille qualified automatically in seventh, at the expense of AC Milan, with a thumping 6-1 win over Feyenoord.
The Dutch side scored three own goals – two from Gernot Trauner and another by David Hancko – while Osame Sahraoui, Jonathan David and Remy Cabella were also on target.
Morgan Rogers hit a hat-trick as Aston Villa secured eighth place with a 4-2 win over Celtic in the ‘Battle of Britain’.
Adam Idah cancelled out Rogers’ early brace with a quickfire double of his own, but Ollie Watkins put them back in front before Rogers completed his treble.
Barcelona missed out on finishing top after they were held to a 2-2 draw by Atalanta.
Goals from Lamine Yamal and Ronald Araujo were not enough for Barca to climb above Liverpool, with the visitors twice pegging them back through Ederson and Mario Pasalic.
A point meant Atalanta dipped out of the top eight, finishing ninth.
Liverpool lost their 100 per cent record in a 3-2 defeat by PSV Eindhoven.
Cody Gakpo and Harvey Elliott scored for the Reds but PSV won it through goals from Johan Bakayoko, Ismael Saibari and Ricardo Pepi.
Arsenal, Inter Milan, Atletico Madrid and Bayer Leverkusen made up the top eight.
Arsenal trailed to Arnaut Danjuma’s goal for Girona but hit back to win 2-1 thanks to Jorginho’s penalty and Ethan Nwaneri’s strike.
Lautaro Martinez’s hat-trick fired Inter to a 3-0 win over 10-man Monaco and Florian Wirtz and Nathan Tella helped Leverkusen to a 2-0 victory against Sparta Prague.
Giuliano Simeone, son of manager Diego, scored in Atletico Madrid’s 4-1 win over RB Salzburg.
Antoine Griezmann hit two and Marcos Llorente grabbed the fourth before Adam Daghim’s fine consolation.
Victory would have guaranteed AC Milan a place in the top eight but they were undone by goals from Martin Baturina and Marko Pjaca and had Yunus Musah sent off in a 2-1 defeat at Dinamo Zagreb.
Christian Pulisic did find the net but defeat left Milan in 13th place, while Dinamo agonisingly finished outside the play-offs on goal difference in 25th.
Borussia Dortmund also missed out despite a brace from Serhou Guirassy helping them to a 3-1 win over Shakhtar Donetsk.
Heimsieg in der Allianz Arena! 👏
Einige der anderen Partien laufen aber noch. ⌛
✨ 90'+3 | #FCBSLO | 3-1 ✨ pic.twitter.com/9Y08WlqAUe
— FC Bayern München (@FCBayern) January 29, 2025
Thomas Muller, Harry Kane and Kingsley Colman were on target as Bayern beat Slovan Bratislava 3-1, while two goals from Rodrygo and one from Jude Bellingham saw Real Madrid win 3-0 at Brest.
Goals from Vangelis Pavlidis and Orkun Kokcu ensured Benfica a play-off spot with a 2-0 win at Juventus, who were already through.
Ousmane Dembele was another hat-trick hero as Paris St Germain won 4-1 at Stuttgart to finish 15th.
In the dead rubbers between sides already out, Sturm Graz beat RB Leipzig 1-0 and Red Star Belgrade won 1-0 at Young Boys, who finished rock bottom without a point.