Bayern Munich guaranteed they will finish top of Group A as they overcame Red Bull Salzburg 3-1 for their fourth successive win – which came despite the dismissal of Marc Roca.
Robert Lewandowski’s opener and an own goal from Maximilian Wober gave the Bundesliga giants a cushion, and shortly after Roca’s dismissal, Leroy Sane added a third. Mergim Berisha claimed a consolation for Salzburg.
Elsewhere in the group, Atletico Madrid drew a blank against Lokomotiv Moscow.
Atalanta rebounded from their 5-0 thumping by Liverpool three weeks ago as goals from Josip Ilicic and Robin Gosens gave the Serie A side a shock victory over the Reds in the Champions League on Wednesday night.
Liverpool were merciless in Bergamo earlier this month and could have guaranteed their passage to the knockout stages with a fourth successive Group D victory, but they were out of sorts at Anfield.
Jurgen Klopp made five changes and the gamble backfired as Ilic turned in Papu Gomez’s cross from the left on the hour before Gosens side-footed home a Hans Hateboer header in the 64th minute to give Atalanta a 2-0 win.
Atalanta leaving Merseyside with a surprise win threw the group wide open as the Italian side moved to within two points of group-topping Liverpool, with Ajax doing likewise after overcoming pointless FC Midtjylland 3-1.
After a goalless first half, Ryan Gravenberch and Noussair Mazraoui were on-target within five minutes of the restart in Amsterdam before David Neres struck midway through the second period.
The visitors pulled one back through Awer Mabil’s penalty but finished the contest with 10 men following Erik Sviatchenko’s red card in time added on.
Phil Foden scored the only goal as Manchester City secured their place in the last 16 yet again with a 1-0 victory over Olympiakos in Greece.
The 20-year-old turned home from a Raheem Sterling flick in the 36th minute as City maintained their 100 per cent record in Group C and reached the last 16 with two matches to spare.
The Greek champions were stubborn opponents at the Georgios Karaiskakis Stadium in Piraeus but City, who created a number of clear-cut opportunities, were never in danger of slipping up.
Porto have one foot in the knockout stage after overcoming Marseille 2-0 in a tempestuous affair in France, where both sides finished the match with 10 men.
Zaidu Sanusi opened the scoring for the visitors by netting a rebound for his first Porto goal six minutes from half-time although Marseille were given a boost when Marko Grujic was sent off midway through the second half.
Moments later though, Marseille defender Leonardo Balerdi was given his marching orders after a foul on Moussa Marega in the area, leading to Sergio Oliveira slotting home from the spot in the 72nd minute.
Eden Hazard’s seventh-minute penalty plus Achraf Hakimi’s own goal just before the hour mark gave Real Madrid a 2-0 Group B victory at Inter Milan.
The Serie A side had Arturo Vidal sent off after the Chilean midfielder picked up two yellow cards within seconds of each other, the second after appearing to square up to Premier League referee Anthony Taylor.
Madrid remain one point behind Borussia Monchengladbach, who maintained their place atop the group with a 4-0 victory over Shakhtar Donetsk.
Lars Stindl’s penalty was followed by goals from Nico Elvedi, Breel Embolo and Oscar Wendt.