Douglas Costa scored a brilliant stoppage-time goal to give Juventus a 2-1 win away to Lokomotiv Moscow on Wednesday, which clinched their place in the Champions League round of 16 with two games to spare.
Juventus went ahead when the Lokomotiv goalkeeper Guilherme allowed Cristiano Ronaldo’s powerful free kick to squirm through his legs and Aaron Ramsey touched the ball over the line after four minutes.
Aleksei Miranchuk levelled eight minutes later for the Russian side, scoring from the rebound after his own header hit a post. The game was heading for a draw until Costa, a substitute, played a one-two with Gonzalo Higuaín, raced into the area and poked the ball past Guilherme.
Bayern Munich clinched a place in the last 16 by beating Olympiakos 2-0 at home thanks to second-half goals from Robert Lewandowski and Ivan Perisic. Playing their first game since Niko Kovac was sacked after the 5-1 drubbing at Eintracht Frankfurt, Bayern outplayed the Greek champions and Lewandowski finally broke the deadlock in the 69th minute.
The Poland striker prodded home a cross from Kingsley Coman from close range to score his 21st goal of the season in all competitions and set the interim coach Hansi Flick on the way to victory in his first game since being put in charge. Perisic slammed the ball home with his first touch, less than 60 seconds after coming off the bench.
Teenager Rodrygo helped himself to a hat-trick as Real Madrid hit Galatasaray for six to edge towards the knockout phase.
The 18-year-old Brazilian scored twice inside the opening seven minutes in his first appearance in the competition at the Bernabéu, and then completed his treble in injury time. The captain Sergio Ramos had earlier converted a 14th-minute penalty with Karim Benzema striking either side of half-time to reach 50 Champions League goals for the club in a 6-0 demolition job.
Real will test their momentum against the Group A leaders Paris Saint-Germain when they head for Madrid later this month defending a perfect record. They took their tally to a maximum 12 points from four games with a hard-fought 1-0 win over Club Brugge courtesy of Maura Icardi’s 21st-minute effort, although they were indebted to keeper Keylor Navas, who saved Mbaye Diagne’s 76th-minute penalty.
Bayer Leverkusen secured their first points of the campaign with a fine 2-1 home victory over previously unbeaten Atlético Madrid.
They got their noses in front four minutes before the break courtesy of Atlético midfielder Thomas Partey’s own goal, and captain Kevin Volland doubled their advantage before Álvaro Morata pulled one back following Nadiem Amiri’s 84th-minute dismissal.