Substitute Gabriel Jesus thought he had grabbed a late winner only to be denied by the technology just like in the UEFA Champions League quarterfinal second leg back in April.
The result means the champions have fallen behind Liverpool, who won 2-1 at Southampton earlier in the day, in the race for the Premier League title.
The champions edged ahead after 20 minutes through Raheem Sterling after the visitors’ defence was carved open by an inch-perfect Kevin de Bruyne pass into the box, which was headed into the far corner of the net by the Englishman.
But just three minutes later Tottenham levelled the scores thanks to Eric Lamela’s jinking run and finish down Ederson’s right.
De Bruyne again was the architect as Manchester City scored their second of the day; Sergio Aguero getting ahead of his marker this time to poke the Belgian’s cross from the right past Hugo Lloris at his near post in the 35th minute.
City could have had a third had De Bruyne maintained his composure but he fired high and wide of the right post when he had only the goalkeeper to beat after getting past Davinson Sanchez in the 36th minute.
Mauricio Pochettino brought on Lucas Moura for Harry Winks and less than a minute after entering the field, the Brazilian headed in a corner to pull Tottenham level.
Rodri then tested Hugo Lloris from range before Bernardo Silva flicked a loose ball onto the crossbar from the resulting corner.
Gabriel Jesus then had what he thought was the winner ruled out for handball in the build up after VAR intervened to gift Tottenham a point deep into second half stoppage time.