Kane’s 95th minute header, seconds after the hosts had levelled through Riyad Mahrez’s penalty, inflicted City’s first league defeat in 16 games.
Liverpool can now close to within three points of the leaders should they win their game in hand at home to Leeds on Wednesday.
“We didn’t need to lose a game to know how hard it is (to win the league),” said City boss Pep Guardiola. “There are many, many games still to play.”
The contrast in form between the sides could not have been starker as Tottenham had lost their previous three league games.
But Antonio Conte avoided losing four on the bounce for the first time in his managerial career thanks to a dogged defensive display enlightened by flashes of brilliance by Kane and Son Heung-min on the break.
“First of all I hate to lose,” said Conte. “Our reaction was important.
“This win will give us more confidence. It wasn’t simple to play Manchester City after three losses in a row.”
Had Kane had his way last summer, he would have been lining up in blue rather than Tottenham white.
He was City’s prime target to replace club record goalscorer Sergio Aguero, but it was Kane’s playmaking ability that caught the eye in the first half.
Conte claimed Tottenham had been weakened in the January transfer window in his latest withering take on the ability of his squad to Italian media this week.
Both of Spurs’ January signings Rodrigo Bentancur and Dejan Kulusevski started and it was the Swede who gave the visitors a dream start.
Kane’s sumptuous through ball broke City’s offside trap and Son unselfishly squared for Kulusevski to slot into an unguarded net on just four minutes.
City took time to get going after a 5-0 rout at Sporting Lisbon in the Champions League in midweek, but their pressure finally told on 33 minutes thanks to an error from Spurs captain Hugo Lloris on his 400th appearance for the club.
Lloris spilled Raheem Sterling’s cross under pressure from Kevin De Bruyne and Ilkay Gundogan swept home the rebound.
VAR role reversal
For all City’s possession, Kane and Son were always a menace on the counter-attack and they combined to brilliant effect to put Tottenham back in front just before the hour mark.
Kane started the move inside his own half before racing forward to meet the South Korean’s cross with a cool finish for just his sixth league goal of the season.
Only a fine save from Ederson denied Kane a second moments later as again a Son pass split the City defence wide open.
Kane did have the ball in the net for a second time on 74 minutes when he swept home from Kulusevski’s cross with the aid of a deflection.
But in a role reversal of the dramatic scenes when City were denied a stoppage time winner in a Champions League quarter-final between the sides three years ago, this time VAR intervened to City’s benefit for offside against Kulusevski.
At the other end Lloris made amends for his earlier error with an incredible finger-tip stop to turn Gundogan’s goalbound effort behind.
City thought they had at least snatched a point when another VAR check saw a penalty awarded for handball by Cristian Romero and Mahrez fired high past Lloris.
But there was one final twist in the tale as Kulusevski’s teasing cross was met with a towering header by Kane for a winner that gives Spurs’ ambitions of qualifying for next season’s Champions League new life.
“To get the result we did was really, really special,” said Kane.
“We have high standards of ourselves and we’ve got ourselves in a position where we can really fight for the top four.”
Conte’s men move up to seventh and close to within four points of fourth-placed Manchester United with two games in hand to come.
At Anfield, Norwich took a shock lead when Milot Rashica’s shot deflected in off Joel Matip three minutes into the second half.
But Liverpool’s deadly duo of Sadio Mane and Mohamed Salah turned the game around with two goals in the space of three minutes.
Mane produced a stunning acrobatic finish to meet Kostas Tsimikas’ looping header.
Salah then raced onto goalkeeper Alisson Becker’s brilliant long ball, rounded Angus Gunn and left two Norwich defenders on the floor to become the second quickest player to 150 Liverpool goals behind Roger Hunt.
Diaz then produced a deft finish either of his two strike partners would be proud of to lift the ball over Gunn from Jordan Henderson’s defence splitting pass.
“No problem with complicated, that makes it so special when you win,” Klopp said of Liverpool’s comeback.
Chelsea’s 1-0 victory at Crystal Palace may have come too late to kickstart a title challenge.
However, they solidified their place in the top four as Hakim Ziyech slotted home Marcos Alonso’s cross a minute from time.
Arsenal’s young Guns strike
Arsenal moved into the hunt for the fourth and final Champions League place as Emile Smith Rowe and Bukayo Saka struck to see off Brentford 2-1.
The Gunners took the lead when Smith Rowe fired into the far corner two minutes into the second half.
Saka then rifled in a brilliant effort in off the post 11 minutes from time before Christian Norgaard netted in stoppage-time.
West Ham’s bid for the top four took another hit as they were held 1-1 at home by Newcastle.
Craig Dawson headed David Moyes’ men in front, but Joe Willock secured another vital point in Newcastle’s battle to avoid relegation.
Burnley secured just a second win of the season with a 3-0 victory at Brighton.
Watford secured a first success under Roy Hodgson as Emmanuel Dennis scored the only goal in a 1-0 victory at Aston Villa.
Everton are nervously looking over their shoulders after they were beaten 2-0 at Southampton.