The hosts made all the early running and they almost got off to a flying start when Ronaldo hit the near post with a header from Achraf Hakimi’s cross on the right in the fifth minute, and Karim Benzema fired wide of the left post from 10 yards out on the follow-up.
Ronaldo threatened again on 17 minutes with an angled shot from the right that went narrowly past the left post with Hugo Lloris at full stretch.
The Premier League club went close just two minutes later when Harry Kane was allowed a free header from a corner, but Keylor Navas was alert to the danger as the tipped it over the crossbar.
A promising move from the visitors ended in disappointment on 25 minutes when Serge Aurier released Moussa Sissoko down the right flank and his deep cross was kept in play on the left by Christian Eriksen, who fed Harry Winks, but the midfielder’s curling effort missed the target.
Spurs absorbed the early pressure to take a fortuitous lead in the 28th minute as Aurier’s cross from the right was turned in by Raphael Varane at the near post as he challenged Kane for the ball.
Navas prevented his team from falling further behind a minute later with another good save to keep out Aurier’s drilled shot from the right.
Los Blancos continued to see plenty of the ball as they looked to get back into the contest and Isco forced a save out of Lloris at his near post from 10 yards out in the 31st minute after combining with Ronaldo on the right, while the French keeper was called into action again three minutes later to deny Marcelo from an angle on the left.
A rash tackle from Aurier provided them a way back on 42 minutes when the Ivorian right-back brought down Toni Kroos inside the area, after the German midfielder had been played in by Benzema. Ronaldo sent Lloris the wrong way with a clinical spot-kick into the right corner to restore parity just before half-time.
Marcelo found Ronaldo in a yard of space with a low cross from the left on 49 minutes, but the Portuguese forward lashed a left-footed shot well over on the turn.
Lloris kept the north Londoners in the tie with a great save five minutes later as he stuck out a leg to deny Benzema from point-blank range, after the French striker had got on the end of Casemiro cross from the right, while Ronaldo skied an effort from 20 yards out on 55 minutes.
Ronaldo drew two quality saves out of Lloris just after the hour mark, with the keeper tipping over his shot from inside the area on 63 minutes after Casemiro played him in on the counter, before the Portugal international powered through the middle moments later and hit a low effort from 19 yards out that was also dealt with.
It was Navas’ turn to come up with the goods as he denied Kane on 71 minutes from Fernando Llorente’s fine pass and then tipped Eriksen’s shot around the near post after the Danish winger had latched onto the Spaniard’s flicked header on the right moments later.
Davinson Sanchez headed Aurier’s cross just wide of the right post from the resulting corner.
Real dictated all the play in the closing stages, but the closest they came to a winner was a long-range strike from Isco on 77 minutes that was comfortably gathered by Lloris.