Real Madrid's slim hopes of automatic qualification to the next round of the Champions League were boosted by anenthralling 3-2 victory over Atalanta on Tuesday.
Kylian Mbappe scored early on for Madrid but did not complete the first half after limping off injured, with Charles De Ketelaere tying things up from the penalty spot.
Vinicius Junior and Jude Bellingham scored in quick succession early in the second half to give Madrid enough breathing room to cope with Ademola Lookman's smart strike from range and secure the victory.
How the game unfolded
Madrid clearly set out to control the tempo in the opening stages, slowing things down to try and take the sting out of Atalanta's attacking flair. Mbappe enjoyed a lively start to the game, driving at the hosts whenever possible and causing a handful of scares early on.
Having given Atalanta a handful of warnings, Mbappe opened the scoring ten minutes in. A perfect first touch from Brahim Diaz's pass took the Frenchman away from Marten de Roon, before a fierce low strike went fizzing into the bottom corner. Mbappe becomes the second-youngest player to reach 50 Champions League goals, behind only a certain Lionel Messi.
Mbappe stung the gloves of Marco Carnesecchi soon after, but Antonio Rudiger had to preserve his side's advantage with a glorious clearance from just a few yards out as De Ketelaere was threatening to tap into an empty net.
Unfortunately for Mbappe, he picked up an injury late in the first half which forced him to limp off the field, with Rodrygo taking his place in attack.
Rudiger, a star of the show in the Madrid defence, had his head in his hands shortly before the interval when he found himself unmarked in the six-yard box. Bellingham's volleyed cross came at him with real pace and the German simply could not keep his header on target, and the quality of the chance he had just spurned was clearly not lost on him.
With the final act of the half, Atalanta earned themselves a penalty. Sead Kolasinac went charging into the box and was tripped by Aurelien Tchouameni, and De Ketelaere stepped up to thunder an effort into the top corner.
Atalanta were the brighter of the two sides to start the second half. Lookman's low strike needed saving by Thibaut Courtois, and Madrid's reward for weathering the storm was an incredibly fortunate goal from Vinicius.
Brahim's pass was blocked but ricocheted in behind the Atalanta defence after an unfortunate bounce-back off Ederson, and Vinicius made no mistake with a snap shot into the bottom corner of the net.
Before fans had retaken their seats, it was 3-1. Bellingham collected a long ball and cut inside to send his low strike beyond Carnesecchi, who perhaps should have done better with his attempted save.
Atalanta did not lie down and soon found their way back into the game. With 65 minutes on the clock, Lookman sent a low strike arrowing into the bottom corner, setting up a fascinating finale to this game.
The hosts ended the game on top and should have snatched a draw when a low cross found Mario Retegui unmarked three yards out, but Serie A's top goalscorer somehow sent his effort ballooning over the bar deep into added time.
Charles De Ketelaere, Antonio Rudiger
Atalanta & Madrid clashed once again / Image Photo Agency/GettyImages
Real Madrid were the favourites when these two sides met in the Super Cup at the start of the season, and so it came as no surprise to see the Spaniard's lifting the trophy when all was said and done. Since then, however, the narrative has switched.
Madrid's woes, coupled with Atalanta's dazzling form, certainly made this a more-even affair - there's even an argument to say Atalanta were the favourites - but Carlo Ancelotti's side did what they do best and ground out a result on the big stage once again.
During Mbappe's time on the field, Madrid were the better side. They took some time to readjust following his departure, but this team love nothing more than having their backs up against the wall in Europe.
Kylian Mbappe
Mbappe went off injured / Image Photo Agency/GettyImages
36 minutes into the game, Madrid fans were shocked by the sight of Mbappe sat on the turf holding his ankle. Ancelotti did not hesitate, withdrawing the summer signing and replacing him with Rodrygo.
It was a huge shame as this was one of Mbappe's best performances in a Madrid shirt. Playing in a central role, the Frenchman was a massive threat running in behind and his glorious touch for the opening goal simply oozed quality, but he did not get the chance to build on that momentum.
We await the next Comunicado Oficial.
Jude Bellingha
A big showing from Bellingham / MARCO BERTORELLO/GettyImages
With Mbappe off injured and Vinicius clearly not at full strength, Madrid needed another big name to take the game by the scruff of its neck and navigate this tricky fixture. It was Bellingham who rose to the occasion.
Roaming all around midfield and attack, the Englishman was sensational in the second half, relentlessly charging forward to stretch Atalanta's defence and create space for those around him, while also taking pride in his defensive responsibilities as well.
His slow start to the season is well and truly over.
READ THE LATEST REAL MADRID NEWS, TRANSFER RUMOURS & GOSSIP