Madrid briefly thought they had doubled their lead 10 minutes before half-time when Rodrygo slotted the ball into an empty net, but Vinicius had strayed offside as Eduardo Camavinga played him in near the halfway line.

Bellingham doubled Madrid’s lead on 61 minutes when he stroked the ball into the bottom corner from the edge of the box after being teed up by Vinicius.

It was his 11th goal in all competitions for Real since joining the record 14-time European champions from Borussia Dortmund ahead of this season.

However, the home side halved the deficit just two minutes later when Djalo powered a near-post drive past Kepa Arrizabalaga.

Braga then introduced the dangerous Bruma, who was only deemed fit enough to start on the bench. The change nearly paid off on 70 minutes when a Ricardo Horta drive was spooned just wide by Arrizabalaga.

Vinicius thought he had added a goal to his two assists on 82 minutes, but the assistant’s flag denied him with Madrid looking to kill off the game.

A VAR check for a penalty in the 89th minute was Braga’s last hope for an equaliser as Madrid ground out a hard-fought victory.

The Spanish side will be looking to book their place in the round of 16 when they host Braga in the return fixture on November 8.

Given the nod to start up front, Brazilian attacker Rodrygo will be hoping his goal will ensure his place in the starting XI for Saturday’s Clasico away to Barcelona.