Raphael Varane's own goal put the visitors ahead in the 28th minute before Cristiano Ronaldo equalised from the penalty spot in the 43rd after Toni Kroos was downed in the area.
An open second half saw chances fall for both sides, but neither Real nor Tottenham could find a winner.
As a result, the pair remain locked level on points at the top of the group standings and meet again at Wembley Stadium on November 1.
Squawka provided the lineups ahead of kick-off:
Squawka News @SquawkaNews
Spurs XI vs. Real Madrid: Lloris; Alderweireld, Sanchez, Vertonghen; Sissoko, Dier, Winks, Aurier; Eriksen; Kane, Llorente.2017-10-17 17:37:39
Spurs set up in a 3-5-2 formation with Jan Vertonghen playing at left wing-back, Eric Dier in the defensive three and Harry Kane and Fernando Llorente in a two up front.
They were fortunate not to go behind in the first five minutes when Karim Benzema contrived to shoot wide after Ronaldo's header from eight yards thundered back off the post.
In the 19th minute, Kane almost put Spurs ahead against the run of play with a powerful header from a corner that was brilliantly palmed over the bar by Real goalkeeper Keylor Navas.
The chance seemed to spark Mauricio Pochettino's side into life, and they found some rhythm midway through the first half. Spurs then went ahead just before the half hour, Varane turning into his own net when Serge Aurier sent in a fine ball from the right looking for Kane.
Real's equaliser came minutes before half-time after the hosts had regained some momentum, but it was avoidable for Spurs.
Aurier needlessly went to ground on Kroos in the penalty area, and Ronaldo converted emphatically from the spot.
Nine minutes after the break, Benzema should have put Real ahead when he met Casemiro's ball from five yards out. But he put the effort close enough to Hugo Lloris for the Frenchman to make a wonderful save with his legs, per NBC Sports' Arlo White:
Arlo White @arlowhite
LLORIS!! What a save! What a miss? #coys2017-10-17 19:57:52
The Spurs goalkeeper was then called into action three times more in quick succession just after the hour, twice from Ronaldo efforts and once scrambling to his right to stop a spinning, deflected shot from Isco.
Real were on top, but the game was very open, and Navas showed his own class again in the 71st minute to tip Kane's effort wide after the England international was put through on goal by Llorente.
Pochettino signalled his satisfaction with a point when he replaced Llorente with Danny Rose with 10 minutes remaining, and Spurs held on with relative ease despite plenty of Real possession.