Real Madrid made it three wins from three in the Champions League after seeing off Shakhtar Donetsk 2-1 at Santiago Bernabeu.
Rodrygo and Vinicius Junior were on target in the first half as the reigning champions maintained their perfect start in Group F.
Having converted only two of 36 shots on goal – thanks mainly to an inspired performance by Shakhtar goalkeeper Anatoliy Trubin – Madrid were hanging on after Oleksandr Zubkov halved the deficit before the break.
Nevertheless, Carlo Ancelotti's side moved five points clear of their Ukrainian opponents at the Group F summit.
The hosts broke the deadlock in the 13th minute when the ball ricocheted kindly for Rodrygo, whose 20-yard drive was too hot for Trubin to handle.
Rodrygo turned provider as Vinicius doubled the lead 15 minutes later, exchanging passes with Karim Benzema before sliding the ball through for his compatriot, who clinically swept home.
Madrid threatened a third goal with Trubin denying Benzema, Federico Valverde and Vinicius, who also had an effort cleared off the line, before the visitors pulled one back against the run of play as Zubkov emphatically volleyed in Bohdan Mykhaylichenko's pinpoint cross.
Mykhaylo Mudryk squandered a glorious opportunity to drag Shakhtar level eight minutes after the restart.
Following a swift counter, the winger was stifled out by Ferland Mendy and Andriy Lunin after opting to cut inside rather than shoot.
Madrid looked to restore their two-goal advantage with Rodrygo and Vinicius drawing smart reflexes out of Trubin, while Marco Asensio's deflected effort hit the post, but they ultimately did not require a third goal to see out a victory that keeps them perfect at the top of the group.
What does it mean? Madrid move clear
Although they will be disappointed not to have converted more opportunities, Madrid have now won seven successive Champions League group stage matches – conceding just two goals during that span.
Six points clear of third-placed Red Bull Salzburg at the midway point in Group F, it would take an almighty collapse for the holders to not book their place in the last 16 from here.
Rodrygo matches Raul
Rodrygo is on the verge of history after he scored for the third time in five matches across all competitions.
The Brazil international opened the scoring with his 11th goal for Madrid in the Champions League, equalling Raul's record for the most strikes registered for Los Blancos while aged 21 or under.
Vinicius sinks Shakhtar once more
Vinicius has been directly involved in more goals against Shakhtar than he has any other side in the Champions League (seven – four goals, three assists).
He recorded a game-high tally of nine shots and scored against the Ukrainians for the fourth time with a neat finish that would eventually separate the sides.
Key Opta Facts
- Madrid have won their opening three games of a UEFA Champions League campaign for the first time since the 2014-15 season, which was also under Ancelotti.
- Shakhtar have only won one of their previous 10 matches in the UEFA Champions League (D4 L5), with that victory coming away to RB Leipzig on MD1 this season.
- Madrid had 36 shots, with 14 of those on target. Since this data is available, they have only attempted more shots in one Champions League match – 37 against Roma in 2016.
- Vinicius netted his 10th Champions League goal for Madrid. He is the second-youngest Brazilian to reach double figures for goals in the competition, behind team-mate Rodrygo.
- Federico Valverde created seven chances from open play, the most by a Madrid player in a single Champions League game since Marcelo v Bayern Munich in April 2017 (eight).
The two sides renew their rivalry in the return fixture in Warsaw next week. Before that, Madrid travel to Getafe in LaLiga on Saturday, while Shakhtar's scheduled Ukrainian Premier League clash with Lviv has been postponed.