The point was City’s third consecutive draw in the Premier League, but came as they were only minutes away from taking victory.
The early stages already hinted at what was to follow as Heung-Min Son scored at both ends within three minutes.
First of all, Spurs countered rapidly with the Korean applying a powerful finish past Ederson on six minutes.
Moments later, chaos in the box from a free-kick saw the ball hit Son’s thigh and rebound into the back of his own net.
After the equalizer, City regained control and would take the lead on the half-hour mark as Phil Foden wrapped up a free-flowing team move to make it 2-1.
Erling Haaland then had two great chances to extend the lead, but the Norwegian was not at his best and he’d clearly left his shooting boots at home, to the relief of Guglielmo Vicario.
Spurs made the home team pay for those missed chances as Giovani Lo Celso fired in on 69 minutes from the edge of the box.
Jack Grealish hit back for the hosts 12 minutes later, as Rodri won the ball in midfield and fed it to Haaland, who cut back to the England international in a central position.
The decisive goal came on 90 minutes as Kyle Walker allowed Brennan Johnson space to deliver a pinpoint cross to Dejan Kulusevski, who equalized.
The 3-3 scoreline means City remain in third and Tottenham climb above Newcastle to fifth, with Aston Villa sitting in fourth.