Riyad Mahrez scored the only goal of the game after just six minutes to fire City back above Liverpool and Chelsea at the summit, having extended their unbeaten start to 10 games.
The story of the match was as much about missed opportunities for a wasteful Spurs, though, as they saw their four-match winning streak in the league come to an end at the hands of the champions.
The match was preceded by an impeccably-observed silence in memory of Leicester City owner Vichai Srivaddhanaprabha, who died in a helicopter crash outside the club's ground on Saturday evening, and it was poignant that Mahrez - such a key component in the Foxes' success under the Thai businessman - got the decisive goal after only six minutes.
A mistake from Kieran Trippier released Raheem Sterling down the left channel on his 200th Premier League appearance, and the winger then beat Trippier inside the box before pulling the ball back for Mahrez to apply a simple finish before dedicating the goal to the man who brought him to England.
The dreadful state of the pitch - which had hosted an NFL match just a day previously - did not hamper the quality of the game as it got off to a frenetic start, with Sergio Aguero rippling the side-netting moments after the opener.
Spurs also contributed to the action-packed opening with Harry Kane blasting one long-range effort narrowly over the crossbar and Toby Alderweireld meeting a corner with a glancing header which forced the first save out of Ederson.
Tottenham failed to make the most of a number of City errors throughout the first half, with the first seeing Benjamin Mendy allow the ball to squirm under his foot, releasing Moussa Sissoko down the right. However, while Sterling had the ruthlessness to punish a similar mistake for the opening goal, Sissoko dithered for too long on the ball and his eventual pass inside was cut out by Fernandinho.
The visitors continued to look dangerous themselves, though, and Mahrez almost doubled his personal tally for the evening when his powerful effort towards the near post was turned against the upright by a smart Hugo Lloris reaction stop.
Another City mistake went unpunished when Aymeric Laporte's header only found Erik Lamela, who in turn sent Kane through on goal. The striker's heavy touch showed just too much of the ball to Ederson, though, allowing the keeper to avert the danger with a fine sliding challenge inside the area.
David Silva threatened at the other end with a powerful drive which was straight at Lloris, but there were no more goals to adorn an entertaining opening 45 minutes as City kept their one-goal lead intact going into the break.
If Tottenham's failure to exploit City's errors was the key difference of the first half, the hosts got away with one of their own in the opening exchanges of the second when Lloris's clearance went straight to Aguero, who was brought down on the edge of the box before he could take advantage.
The visitors should have doubled their lead 10 minutes after the restart when Bernardo Silva's low pass into the middle found his namesake David in the six-yard box. The off-balance Spaniard turned down a shot from point-blank range when he looked certain to score, though, and instead teed up Sterling, who saw his own strike blocked by Trippier just in front of the line.
Silva looking for a pass before a shot was perhaps to be expected, but Aguero provided a much more uncharacteristic moment 10 minutes later when he created space to shoot from inside the area but then put his finish too close to Lloris.
Aguero drew another save from Lloris moments later, but that proved to be his final action of note before being replaced by Kevin De Bruyne for only the Belgian's third league appearance of the season.
De Bruyne was quickly caught in possession inside his own penalty area, though, and Lamela wriggled past a couple of defenders only to send his finish well wide as City got away with another error.
Dele Alli also made his return from injury for the hosts, and he stole the ball off Mahrez before setting up Tottenham's biggest chance to get something out of the game - one which Lamela spurned when he blazed his effort over the crossbar when he simply had to score.
The Argentine could perhaps blame the pitch for his glaring miss as the ball bobbled to him from Alli's perfectly-weighted pass, but it proved to be the moment Spurs had waited for and the best they created afterwards was a Christian Eriksen cross/shot which was plucked out of the air by Ederson.
The result leaves Spurs still fifth in the Premier League table and now five points adrift of City, who move back to the summit ahead of Liverpool on goal difference.
City have now also equalled their club record of six successive Premier League clean sheets and become the first non-London based team in the competition's history to win five successive matches in the capital.
SPURS (4-2-3-1): Lloris; Trippier, Alderweireld, Sanchez, Davies; Dier (Winks 67'), Dembele (Alli 75'); Sissoko, Lamela, Lucas (Eriksen 81'); Kane
MAN CITY (4-3-3): Ederson; Walker, Stones, Laporte, Mendy; Bernardo, Fernandinho, Silva (Kompany 89'); Mahrez (Jesus 92'), Aguero (De Bruyne 71'), Sterling