Goals from Eric Dier, Toby Alderweireld, Harry Kane and Erik Lamela left City reeling after the visitors had dominated early on and taken a 25th-minute lead through record signing Kevin de Bruyne.
Coming a week after a 2-1 home defeat by West Ham United that halted City’s 100 percent start to the season, their second-half collapse in sunny north London means they could lose top spot after Saturday’s later matches.
Manchester United will go top if they beat Sunderland.
There seemed no hint of what was to come when City broke quickly in the 25th minute through the marauding Yaya Toure who fed De Bruyne to slot past Hugo Lloris.
If there was a hint of offside about that goal, Tottenham’s equaliser on the stroke of halftime was even more controversial.
Clearly offside, Kyle Walker crossed low into to the area and although City keeper Willy Caballero saved well from Son Heung-min the ball was drilled back into the net by Dier.
Tottenham went ahead five minutes after the break when Lamela’s free kick was headed in by Alderweireld.
Eleven minutes later Kane broke his season-long goal famine for his club when he coolly clipped in a rebound after Christian Eriksen’s free kick struck the crossbar.
The impressive Lamela completed the scoring when he showed great composure to fire past Caballero.
Tottenham’s win, their third in a row in the Premier League, moved them into fifth place with 12 points from seven games, just three points behind City.