City thought they had rescued a point moments earlier when Riyad Mahrez converted a penalty awarded after a VAR review, but there was another twist to come and Kane, predictably, provided it.
The Spurs striker, whom City had tried to sign in the summer, rose highest to nod home Dejan Kulusevski’s cross in the 95th minute and spark wild celebrations from the travelling fans.
It was a dramatic end to a pulsating match that had already seen Spurs pegged back twice, with City running out of time to find a third equaliser.
Tottenham’s first goal came after only four minutes, with Son Heun-min beating the offside trap and squaring the ball for Kulusevski to score on his first start for the club.
City levelled when Hugo Lloris spilled Raheem Sterling’s cross and Ilkay Gundogan pounced to turn in the loose ball, but they could not turn their possession into more goals.
Spurs continued to threaten on the break in the second half and were back in front on the hour mark when Kane finished a move he had started, running onto Son’s cross to fire past Ederson from close range.
Kane was denied again by Ederson and then had another strike ruled out for offside but it appeared City would have the last word when they were awarded a spot-kick at the end of the 90 minutes.
Referee Anthony Taylor pointed to the spot for a handball by Cristian Romero after a VAR review and it seemed Mahrez had salvaged a point.
Kane had other ideas, and his winner means City’s lead at the top over Liverpool, who have a game in hand, is down to six points.
Kane shows why Guardiola tried to sign him
Kane has been below his best for much of the season but his performance here was a reminder of why Guardiola was so keen to sign him at the start of the season.
The Spurs captain did not just score twice, he was the key man in his side’s gameplan, constantly dropping deep to collect the ball and finding willing runners ahead of him.
It was a display that also demonstrated why Spurs chairman Daniel Levy fought so hard to keep his side’s talisman.
Kane was absent and seemed set on a move to the Etihad when Tottenham beat City on the opening day of the season. This time, it was the same result but he was the main man.
His side’s fans serenaded their captain at the final whistle, singing “Harry Kane, he’s one of our own” as he and his team-mates celebrated a famous victory in front of the travelling supporters.