Real Madrid struck six against Galatasaray as Juventus, Bayern Munich and Paris Saint-Germain all booked their place in the Champions League knockout stages.
Real Madrid went into the game against Galatasaray with just four points from their opening three Group A games but Brazilian wonderkid Rodrygo netted twice in the opening seven minutes to put Los Blancos in control before Sergio Ramos converted a penalty.
Karim Benzema added a fourth just before half-time and became only the second player after Lionel Messi to score in 15 consecutive Champions League campaigns. The French striker then struck his 50th goal in the competition and teed up Rodrygo to complete his hat-trick.
The victory leaves Madrid in a strong position to qualify from the group but they are likely to finish runners-up to PSG who defeated Club Brugge 1-0 at the Parc des Princes.
Mauro Icardi kept up his good form for the Ligue 1 side following his summer move from Inter Milan, steering home a Kylian Mbappe cross from close range. However, instead of building on their advantage the French champions eased off.
Keylor Navas was twice called into action to deny Emmanuel Bonaventure Dennis and substitute Mbaye Diagne and the visitors were then handed a golden opportunity to equalise when the forward was brought down by Thiago Silva in the area.
The Galatasaray loanee decided to take the spot-kick but his tame effort was saved by Navas, whose fourth consecutive clean sheet ensured PSG reached the round of 16 with two games to spare.
The Parisians were joined in the knockout stages by Bayern Munich who overcame Olympiakos 2-0 at the Allianz Stadium.
Bayern, who sacked head coach Niko Kovac on Sunday, had to be patient against the Greek side but broke the deadlock in the 69th minute through a predictable source, Robert Lewandowski.
The Pole converted Kingsley Coman’s cross from close range to continue his impeccable scoring record this term – the 31-year-old striker has scored in every one of Bayern’s Bundesliga and Champions League games and has 20 goals in total.
From then on victory for the German side was never in doubt and Ivan Perisic added a late second to cement Bayern’s place atop Group B. Tottenham sit second after their comfortable 4-0 win over Red Star Belgrade but trail the Bavarians by five points.
A stoppage-time goal from Douglas Costa booked Juventus’ place in the last 16 as Maurizio Sarri’s side defeated Lokomotiv Moscow 2-1.
Aaron Ramsey put the Italian champions ahead after just three minutes. A Cristiano Ronaldo free-kick was spilled by goalkeeper Guilherme Marinato and, despite the ball inching its way over the line, the Welsh midfielder nipped in to finish. In the process, Ramsey denied the Portuguese a Champions League record of scoring against the most clubs.
Juventus struggled to build on that early opener, however, and Aleksey Miranchuk equalised after 13 minutes. That goal appeared to have earned the Russian club a share of the points but, in the dying moments, Brazilian winger Costa broke into the penalty area and finished calmly to seal Juve’s place in the last 16.
Who will join them from Group D remains wide open after Atletico Madrid suffered a 2-1 defeat to Bayer Leverkusen. A Thomas Partey own goal put the Bundesliga side in front shortly before half-time and Kevin Volland added a second in the 55th minute.
Nadiem Amiri was dismissed late on and Alvaro Morata netted in stoppage time for Atleti, but it was too late to affect the result.
In Group C, Dinamo Zagreb conceded twice in stoppage time to draw 3-3 against Shakhtar Donetsk.
Shakhtar went in front early into the opening period when striker Alan Patrick converted a pass from Junior Moraes but the hosts responded through Bruno Petkovic to go in level at the interval.
Dinamo were reduced to 10 men with 16 minutes remaining when Nikola Moro saw red but Shakhtar’s man advantage was brief as winger Marlos was soon dismissed.