The first batch of Champions League matchday five fixtures took place all over Europe on Tuesday night, with big results for a number of teams.
Real Madrid, Chelsea, Paris Saint-Germain, Manchester City, Juventus and more were all on the schedule.
Take in a recap of at all of the action here...
Red Bull Salzburg 1-2 Chelsea
Chelsea secured their place in the Champions League knockout stages with a win in what was the reverse fixture of Graham Potter’s first game in charge of the Blues. And much like the reverse fixture, the game was well contested from the very first whistle.
Red Bull Salzburg rallied inside a boisterous Red Bull Arena and put Chelsea under pressure from the off, but the visitors responded well and took a deserved lead through Mateo Kovacic.
That opening goal was enough to inspire Potter’s side to up the levels considerably and decimate Salzburg with a stylish first half performance. The hosts again bounced back after the break, but Chelsea showed resilience to get over the line with Kai Havertz's winner.
Dinamo Zagreb 0-4 AC Milan
AC Milan took full advantage of Salzburg's defeat earlier in the evening and surged into second place in the standings thanks to a comprehensive win over Dinamo Zagreb in Croatia.
Although they saw slightly less of the ball, the Rossoneri were deserved one-sided winners and took the lead in the closing stages of the first half when Matteo Gabbia scored a header from close range. Milan then racked up the goals in the second half, first through Rafael Leao, then 10 minutes later by Olivier Giroud from the penalty sport, and exactly another 10 minutes via an own goal.
Milan simply need to avoid defeat to Salzburg at home on matchday six and they will have a place in the knockout stages. Their previous appearance in the last 16 was in 2014.
Celtic 1-1 Shakhtar Donetsk
Celtic waved goodbye to any further place in European competition this season, with a home draw against Shakhtar Donetsk not good enough to prevent them finishing bottom of the group.
The Scottish champions took a first half lead through Georgios Giakoumakis. Had they held on, it would have taken them level on points with Shakhtar going into matchday six. As it was, in-form Mykhaylo Mudryk equalised in the second half to ensure it finished a draw.
At worst, Shakhtar are guaranteed a place in the Europa League knockout stages. But they will make it to the next round of the Champions League should they beat RB Leipzig on matchday six.
RB Leipzig 3-2 Real Madrid
Despite being weakened by a number of key absences, nobody would’ve expected such a poor start from the defending champions in Germany, who were bullied by RB Leipzig.
Die Roten Bullen were ruthless from the first whistle, punishing Real Madrid for a laboured start to the game and racing into a two goal lead thanks to Josko Gvardiol and Christopher Nkunku.
Vinicius Junior pulled one back just before half-time and Real steadied the ship in the second half, but never looked threatening enough. Leipzig, meanwhile, looked menacing on the counter and scored a third to put the game beyond doubt, even if Rodrygo was able to put away a penalty at the death. A very, very poor night at the office for Carlo Ancelotti’s side.
Sevilla 3-0 Copenhagen
Sevilla finally got their first Champions League win of the season at the fifth attempt as the equally win-less Copenhagen rocked up at the Ramon Sanchez Pizjuan.
Fans had to wait patiently until the second half for goals, with Youssef En-Nesyri eventually breaking the deadlock on the hour mark. But the result wasn't certain until minutes before the end when quickfire strikes from Isco and Gonzalo Montiel took the game away from Copenhagen.
The Danes even finished the contest with 10 players after VAR intervened to help give Davit Khocholava his marching orders deep into stoppage time.
Borussia Dortmund 0-0 Manchester City
A point did the job for both Borussia Dortmund and Manchester City in a goal-less draw at Signal Iduna Park, a game which saw Erling Haaland return to his old stomping ground.
City dominated the ball throughout, but it was Dortmund that had the better chances in the first half and probably should have taken the lead at one time or another through Karim Adeyemi or Youssoufa Moukoko. Riyad Mahrez then won and missed a penalty for City after half-time.
The result saw City secure top spot in the group, while Dortmund have also booked their place in the knockout stages with a game to spare.
Paris Saint-Germain 7-2 Maccabi Haifa
The objective was clear for PSG; win and you’re in the knockout stages.
What followed was a more competitive game than most would’ve anticipated, but also a night that saw Les Parisiens’ star-studded front three show exactly why they’re so insatiable. Lionel Messi rolled back the years with a sensational performance, linking up seamlessly with Kylian Mbappe and Neymar over the course of 90 minutes.
Christophe Galtier’s side weren’t without their errors and were tested by competition minnows Maccabi Haifa, but despite them putting two goals past the hosts, they were never going to cause an upset when the attacking trident were in the mood they were in.
Benfica 4-3 Juventus
A scoreline that papers the cracks over yet another concerning night for Juventus, defeat at Benfica sees them officially out of the Champions League.
Dominated from the first whistle, it took just 17 minutes for them to fall behind. But despite responding quickly through Moise Kean, they would again crumble mere minutes later at the hands of a Joao Mario penalty, which set the tone for a complete collapse.
Benfica completely controlled the game and added a fourth five minutes into the second half to make for a rather humiliating 4-1 scoreline. It was one that reflected Juve’s performance, too. Two late goals in as many minutes Arkadiusz Milik and Weston McKennie provided consolation, but in truth, Massimiliano Allegri’s side never looked good enough to topple Benfica, who remain undefeated this season.