Manchester City secured top spot in Group A after goals from Raheem Sterling and Gabriel Jesus helped them come from behind to beat Paris Saint-Germain at the Etihad.
The Parisians had taken a second half lead through Kylian Mbappe who drilled through the legs of Ederson after lovely interplay involving Neymar and Lionel Messi in the build up.
City had dominated proceedings up till then and deservedly levelled through Sterling who turned in Jesus’s centre in the 63rd minute before the Brazilian scored the winner thirteen minutes later.
The English side have an unassailable 12 points, four more than PSG who must settle for second with a round of matches left.
The group’s other game saw RB Leipzig hammer Club Brugge 5-0 in Belgium to occupy the Europa League spot on goals difference.
Emil Forsberg and Christopher Nkunku bagged braces with Andre Silva also on the score sheet.
Meanwhile, AC Milan boosted their hopes of making the knockout round after substitute Junior Messias scored in added time to snatch a 1-0 against Atlético Madrid at the Wanda Metropolitano.
The victory catapulted Milan over Atlético into third place in Group B on goals difference. The Italians are a point behind second-placed Porto who lost Liverpool with goals from Thiago Alcantara and Mohamed Salah giving the Premier League side a 2-0 win at Anfield.
Karim Benzema put his legal woes behind to help Real Madrid secure their spot in the next round with a 3-0 win at Sheriff Tiraspol in Group D.
The Frenchman rounded off the scoring after goals from David Alaba and Toni Kroos put the Spanish side 2-0 at half time.
Inter Milan joined Real in the next round with an Edin Dzeko brace helping the Italians to a 2-0 win over bottom side Shakhtar Donetsk at the San Siro.
Sebastian Haller scored his ninth goal of this season’s Champions League as Ajax maintained their perfect record with a 2-1 win at Besiktas.
Haller came on after the break and hit a brace to overturn Rachid Ghezzal’s penalty opener for the hosts to ensure the Turkish side remain without a win or a point in Group C.
Elsewhere in the group, Sporting Lisbon also moved into the next round after a 3-1 over ten-man Borussia Dortmund.
Pedro Goncalves scored brace and missed a penalty and another strike by Pedro Porro put the hosts 3-0 up before Donyell Malen scored in added time for the visitors who lost Emre Can to a 73rd-minute red card.