Manchester City came from behind to beat Club Brugge 3-1 and secure their place in the Champions League playoffs, as big guns Real Madrid, Bayern Munich and Paris St Germain also won to progress, while AC Milan and Juventus will join them despite both losing on Wednesday.
A goal-stacked night of 18 simultaneous kick-offs in the final group matchday of the competition’s new format, eventually ended as the traditional format usually ended - with all the big guns still alive.
Liverpool and Barcelona were the only teams already guaranteed a place in the top eight and automatic progress to the round of 16 and they stayed first and second respectively despite Liverpool losing 3-2 to PSV Eindhoven and Barca drawing 2-2 with Atalanta.
Joining them are Arsenal, Inter Milan, Atletico Madrid, Bayer Leverkusen, Aston Villa and Lille, who produced the performance of the night to thrash Feyenoord 6-1.
Although they eventually progressed reasonably comfortably, it was anything but for Man City at the Etihad. The 2023 European champions were exposed just before halftime when Raphael Onyedika brilliantly finished off a Brugge sweeping move.
Mateo Kovacic pulled one back for City early in the second half but at that stage they were still heading out of the competition and they needed an own goal by Joel Ordonez to get the lead and then a third by Savinho to relax.
PSG, who were in 22nd place and in danger of missing out at kickoff, avoided a nervous night by racing into a 3-0 halftime lead at Stuttgart. Bradley Barcola opened the scoring and a hat-trick for in-form Ousmane Dembele completed the 4-1 win.
It was the same score for Atletico Madrid at Salzburg. The visitors were helped by two goals for Antoine Griezmann.
Lautaro Martinez got all three goals for Inter Milan in their 3-0 victory over Monaco, who had Christian Mawissa sent off after 12 minutes, but still made the playoffs.
Arsenal came from behind to win 2-1 at Girona and rubber-stamp their third-placed finish, while Leverkusen also avoided the two-legged play-offs by beating Sparta Prague 2-0 to finish sixth.
Lille began the day in 12th but ended in seventh after thumping Feyenoord, who contributed a remarkable three own goals to those scored by Osame Sahraoui, Jonathan David and Remy Cabella.
Real Madrid, seeking to extend their record 15 European titles, secured their playoff slot with a 3-0 win over Brest courtesy of two goals from Rodrygo and another by Jude Bellingham.
It was a second successive defeat for Brest but their flying start to the campaign proved enough for them to make the playoffs.
Aston Villa led Celtic 2-0 with two Morgan Rogers goals inside the first five minutes but two for Adam Idah made it level at halftime.
Ollie Watkins, who missed a penalty, then restored the lead and Rogers completed his hat-trick at the death to lift Villa into the top eight
AC Milan began the day in sixth but goals by Martin Baturina and Marko Pjaca combined with an early red card for gave Dinamo Zagreb a 2-1 that dropped the Italians into the playoff, but still left Zagreb missing out on joining them by one place on goal difference.
Bayern Munich beat Slovan Bratislava 3-1 with goals by Thomas Mueller, Harry Kane and Kingsley Coman while Benfica had an impressive 2-0 win at Juventus, a result that left both teams in the playoffs.
Dortmund beat Shakhtar Donetsk 3-1 to reach Champions League knockout play-offs
Borussia Dortmund cruised into the knockout phase playoffs of the Champions League with a 3-1 home win over Shakhtar Donetsk on Wednesday, with Guinean striker Serhou Guirassy scoring two first-half goals as the Ukrainian side were eliminated.
With the top eight teams going straight through to the last 16 and those placed from ninth to 24th headed to the two-legged playoffs for the remaining eight spots, beaten 2024 finalists Dortmund finished the league phase in 10th place with 15 points.
Shakhtar were 27th on seven points.
A first victory of 2025 was just the tonic Dortmund needed following a poor run of form that saw coach Nuri Sahin fired a week ago, with his replacement Mike Tullberg plucked from the club's U19 side to steer them through to the knockout stage.
Guirassy gave his side the lead in the 17th minute, charging into the box and steering Karim Adeyemi’s shot past the keeper with his thigh, and the Guinean striker grabbed his second just before the break, latching on to Julian Brandt’s pass and taking a touch before firing past Dmytro Riznyk.
The 28-year-old almost completed his hat-trick in the first minute of the second half when he got a powerful downward header to a free kick, but Riznyk reacted superbly to steer the ball to safety.
The visitors were thrown a lifeline in the 50th minute when Dortmund keeper Gregor Kobel took a bad touch that allowed Marlon Gomes to pounce and steer the ball into the net to make it 2-1.
Shakhtar's Riznyk had to be at his best again in the 66th minute, getting a strong hand to Ramy Bensebaini’s header from another free kick to tip it over the bar, and Guirassy had another chance to net his third in the 72nd minute but his chipped effort drifted just wide of the near post.
Atalanta miss out on automatic last 16 qualification with 2-2 draw at Barca
Europa League champions Atalanta missed out on an automatic place in the Champions League last 16 with a 2-2 draw at Barcelona on Wednesday, with Lamine Yamal and Ronald Araujo scoring for the already-qualified hosts.
Atalanta, who were missing one of their top strikers Ademola Lookman because of a knee injury, slipped down to ninth in the standings on 15 points and will play in the two-legged knockout phase playoff round instead.
Five-time winners Barcelona, who last lifted the trophy in 2015, had already secured their last-16 berth last week through a dramatic 5-4 comeback win at Benfica.
Yamal gave Barcelona the lead two minutes after the break from point-blank range before Ederson levelled for Atalanta in the 67th minute with a stunning shot from the edge of the area that sailed inside the left post.
Defender Araujo restored the lead for Barca with a header following a corner in the 72nd but Atalanta's Mario Pasalic equalised again seven minutes later, nutmegging goalkeeper Wojciech Szczesny with a low strike.
Liverpool lose 100% record but finish top
Liverpool's 100% record in the Champions League ended when they lost 3-2 at PSV Eindhoven on Wednesday but it was mission accomplished for Arne Slot's side as they finished top of the revamped group stage.
A much-changed Liverpool, bidding to make it eight wins from eight, led twice in the Netherlands through Cody Gakpo's penalty, against his old club, and Harvey Elliott.
Johan Bakayoko and Ismael Saibari equalised for PSV and Ricardo Pepi completed a remarkable first half by scoring what turned out to be the winner in stoppage time.
Liverpool ended with 10 men after debutant Amara Nallo was shown a straight red card for a rash challenge, shortly after coming on as a substitute.
Despite the loss, only their third of the season in all competitions, Slot's side topped the group stage with 21 points, two ahead of Barcelona who could only draw their last game against Atalanta.
PSV will have to take their chances in the playoffs as they finished in 14th place.