Real Madrid substitute Rodrygo struck an 89th-minute winner to snatch a 1-0 win over Inter Milan in the UEFA Champions League group stage on Wednesday.
Real Madrid punished the wasteful Italians for missing a string of chances, with the Brazilian meeting a pass from fellow replacement Eduardo Camavinga to volley home in the dying minutes.
It allowed Carlo Ancelotti’s side to triumph against their major rivals for top spot in Group D.
It was a painful conclusion to a game the Italian side had dominated for large stretches.
But the hosts could not find a way past on-form goalkeeper Thibaut Courtois, who produced several crucial saves.
Real Madrid are second in the group behind Moldovans Sheriff Tiraspol, who stunned Shakhtar Donetsk with a 2-0 win on their tournament debut.
The Moldovans travel to Madrid next, while Shakhtar Donetsk and Inter Milan will look to get their first points on the board when they meet in Ukraine.
Inter Milan and Real Madrid were familiar with each other after sharing a group last season, when the Spanish side twice triumphed.
But both teams were starting this European campaign under new coaches, Real Madrid with Ancelotti and Inter Milan with Simone Inzaghi.
The Italian champions started on the front foot and soon threatened when Edin Dzeko had a shot saved by the legs of Courtois, an early sign of what would prove to be a theme of the night.
Real Madrid struggled to cope with the aggression of the hosts.
They were second best before the break, thanking Courtois again for diving to stop a Lautaro Martinez header and beating away another Dzeko effort.
The Spaniards had soaked up 14 shots by half-time and they kept coming after the break.
That was when Courtois produced the save of the night by clawing a close-range Dzeko header off the line.
Real Madrid grew into the game as Dani Carvajal stung Samir Handanovic’s palms with a shot.
Vinicius was twice blocked by Inter Milan Skriniar in dangerous positions, before Rodrygo’s late strike gave them the three points.