Manchester City were held by Atalanta, Real Madrid unearthed a new star and Tottenham put in their most professional performance of the season.
Let’s have a look at Wednesday’s Champions League games, shall we?
- Bayern Munich 2-0 Olympiacos
- Lokomotiv Moscow 1-2 Juventus
San Siro sizzler
Pep Guardiola named an incredibly attacking-looking starting XI here and that paid dividends almost immediately, with Gabriel Jesus backheeling to Raheem Sterling, who fired home from close range.
City were totally dominant, controlling the ball and peppering the home side’s goal with efforts – but they couldn’t get that second goal before half time despite being given two penalties.
The first was eventually taken off Raheem Sterling after VAR decided that he was fouled outside the area. But then from that resulting free kick, Josip Ilicic was deemed to have handballed inside the area.
Jesus then stepped up from 12 yards, but missed with one of the very worst efforts you are ever likely to see.
And they paid for that penalty miss immediately after the break as Ilicic’s inch-perfect cross found Mario Pasalic, who headed in unmarked.
The tide of the game had turned with the Serie A outfit really taking it to City, looking for space out wide and piling forward for a bookmaker-busting winner.
And that should have come with just 10 minutes to go as Ilicic raced through on goal.
The playmaker rounded Claudio Bravo, but the City goalkeeper took down the former Fiorentina man and collected a red card instead.
Tottenham named five attackers in their starting XI for this intimidating trip to the Serbian capital but the north London outfit didn’t seem to mind the atmosphere as they took a first half lead.
It was comedy defending from the home team as they had four opportunities to clear the ball – but it eventually fell to Giovani Lo Celso, who scored his first for the club.
But it was the man of the moment who scored the crucial second after the break.
All the talk before the game was of Heung-min Son’s mental wellbeing after he was so clearly devastated at the injury he inadvertently caused to Andre Gomes at the weekend.
But the South Korean put that behind him by firing from close range to double Spurs’ lead.
That wasn’t it though, as Son got his second of the game, poking in at the far post after a nice cross from Danny Rose.
And in the dying moments it was four, Christian Eriksen coming on and scoring after a deflected finish.
A star is born
It didn’t take long for Zinedine Zidane’s men to get themselves in front, with Rorydgo Goes netting his first for the club with a neat finish from inside the area.
But the Brazilian youngster wasn’t done there, as with just seven minutes gone he grabbed his, and Real Madrid’s, second of the game. A cross from the left was fired in perfectly by Marcelo, with the teenager nodding home a header.
Galatasaray were in complete disarray now and their misery was compounded with just 15 minutes gone when Sergio Ramos panenkaed a penalty for 3-0.
It was turning into the teenager’s night though, as he added an assist to his collection, crossing for Karim Benzema who added a fourth before half-time.
The second half was a bit of a procession for the hosts, but they did add a fifth late on with Benzema tapping in after a Dani Carvajal cross.
And Rodrygo’s perfect night was complete in stoppage time as he got his hat-trick after a neat one-two with Benzema before sweeping home.
Case for the defence
Atlético Madrid’s famed defence were all over the place as Bayer Leverkusen took the lead just before half-time.
A corner from the right was only half-cleared by Jan Oblak, with a second ball being lifted back into the box for Thomas Partey to head into his own goal.
Diego Simeone’s men were all over the place and their sloppiness extended into the second half as Kevin Volland made it 2-0 thanks to a neat touch-and-finish from close range.
There looked like there could be a late comeback as Alvaro Morata scored in stoppage time but it wasn’t to be for the Liga visitors.
Not their best
Paris Saint-Germain beat their Belgian rivals 5-2 just two weeks ago, and it looked like that scoreline could very much be on the cards at Parc des Princes as Mauro Icardi tapped in after just 20 minutes.
Thomas Tuchel’s side weren’t at their sparkling best, but they weren’t allowed to be by the spirited visitors.
Despite having all of their main attacking talents on the pitch – bar Neymar – that second goal just didn’t come.
And the Ligue 1 giants should have paid for that profligacy with 15 minutes to go as Thiago Silva made a ridiculous challenge inside the area to give away a penalty.
Keylor Navas was the hour though, saving well low down to his left-hand side.
Stoppage time drama
A shoot-out between the likely second-place finishers in Group C saw Shakhtar take the lead inside 15 minuets when Alan Patrick tapped in from close range after good work down the right by Marlos.
But the home side weren’t to be deterred as they got themselves back into the game just 10 minutes later as a lofted cross found Bruno Petkovic, who rose highest and headed home at the far post.
Both sides sensed a winner in the second half, but it was red cards they collected instead of goals.
Nikola Moro was given his marching orders for the hosts after two bookings, and Marlos went the same way following a pair of late challenges.
But the home team did get that winner on 82 minutes as Marko Girja raced through and finished brilliantly from inside the penalty area.
Zagreb’s perfect night was complete in stoppage time as Dani Olmo made it 3-1 after sliding in at the back post – but that wasn’t the end of the drama.
Shakhtar did get one back in the 94th minute thanks to a close range header and then in the 95th minute were awarded a penalty after a foul on Taison.
Up stepped Tete who rescued an unlikely point with a pinpoint penalty.