Alassane Plea scored a Champions League hat-trick as Borussia Mönchengladbach powered their way to the top of Group B with a 6-0 romp at Shakhtar Donetsk.
The visitors, who had drawn their first two games against Inter Milan and Real Madrid 2-2, were 4-0 up at the break courtesy of Plea’s double, which came either side of Valeriy Bondar’s 17th-minute own goal and Remy Bensebaini’s close-range finish.
Shakhtar fared little better after the restart with Lars Stindl making it 5-0 before Plea completed his treble to seal the German club’s biggest win in the competition.
Real Madrid needed a late winner from teenager Rodrygo to get the better of Inter Milan in a five-goal thriller at the Estadio Alfredo Di Stefano.
Karim Benzema fired them ahead with 25 minutes gone after intercepting Achraf Hakimi’s back pass and Sergio Ramos extended their lead with a 33rd-minute header.
Inter were back in it within two minutes through Lautaro Martinez, who then set up Ivan Perisic to make it 2-2 with 22 minutes left, but there was drama at the death when substitutes Vinicius Junior and Rodrygo combined for the 19-year-old to snatch victory.
Dusan Tadic was Ajax's match winner in an explosive start to their 2-1 success at Midtjylland.
Antony’s first goal in the competition and a second from Tadic had the Dutchmen 2-0 up within 13 minutes and although Anders Dreyer reduced the deficit within five minutes, that was as good as it got for the pointless Danes.
In Group A, holders Bayern Munich scored four times in the final 11 minutes to secure a 6-2 victory over Red Bull Salzburg in Austria.
Mergim Berisha’s fourth-minute opener for the home side simply sparked the holders into action, with Robert Lewandowski levelling from the penalty spot before defender Rasmus Kristensen diverted Thomas Müller’s cross into his own net.
Substitute Masaya Okugawa’s 66th-minute equaliser left Bayern with more work to do and they responded in fine style with goals from Jerome Boateng, substitute Leroy Sane, Lewandowski and Lucas Hernandez inside the final 11 minutes.
They sit five points clear of second-placed Atletico Madrid after Anton Miranchuk's penalty secured a 1-1 draw for Lokomotiv Moscow.
Jose Gimenez headed Atletico into an 18th-minute lead, but the visitors were pegged back within seven minutes when, after a VAR review, Hector Herrera was adjudged to have handled in the area and Miranchuk levelled from the spot.
Moussa Marega's fourth-minute strike set Porto on the road to victory against over Marseille by the same scoreline.
Marega’s effort and Sergio Oliveira’s 28th-minute penalty after Jordan Amavi had fouled Jesus Corona gave the Portuguese champions a 2-0 advantage, but they had to wait until 24 minutes into the second half for Luis Diaz to wrap up the points with a third.