Kane gave Tottenham a 2-1 lead in the 59th minute, but a handball from Christian Romero allowed the substitute Riyad Mahrez to equalize the league leaders from the penalty mark in the 92nd minute.
City seemed the favorites to snatch the winning goal at the last minute, but Kane scored again to give Tottenham their second league win of the season against City, after beating the league leaders in the opening round of the season.
Tottenham had surprisingly advanced in the fourth minute, when Dejan Kulusevsky scored his first goal in his first match in the starting line-up in the league, since joining on loan from Juventus, but Ilkay Gundogan equalized the result before the break.
And with City’s defeat, which is only his third in the league this season, he is only 6 points ahead of Liverpool, who have an additional match left.
City played 26 matches, compared to only 25 matches for Liverpool, with 12 stages remaining.