The Citizens took a deserved lead into the interval and added to it in the second half through two goals from Raheem Sterling and one from Kevin De Bruyne, before Christian Eriksen pulled one back in stoppage time.
A brief spell on top after the restart aside, Tottenham failed to live with their opponents from the moment Ilkay Gundogan opened the scoring as City extended their record winning run to 16 matches.
That offered a sign of things to come, as just five minutes later Ilkay Gundogan gave City the lead following some terrible defending from the visitors.
Sane's corner was met by his compatriot, who stooped down completely unmarked to head the ball past Hugo Lloris from close range - his first goal of the season.
City looked the more likely team to add a second in the remainder of the first half, with Sergio Aguero forcing Lloris into a smart stop and Sterling was then wayward from the follow-up effort.
A Danny Rose block was also required to keep Aguero out, with the Argentinian seeking an 11th goal in 11 Premier League games against Tottenham, before the same man slotted the ball wide from a good position.
Sane squandered a big chance with 33 minutes on the clock, being let down by a poor first touch with just Lloris to beat, and the hosts also had a penalty shout rejected after Aguero's shot came off the arm of Rose.
The Lilywhites, unbeaten in four matches against City prior to tonight, came out fired up for the second half but ultimately had just one Kane shot - tipped wide by Ederson - to show for it.
Normal service was resumed soon after and, after Sane had a shot saved and Sterling fluffed his lines from the follow-up, De Bruyne belted the ball into the roof of the net to put City well on their way.
Substitute striker Gabriel Jesus hit the post from a penalty 15 minutes from time after De Bruyne was brought down in the box, but it mattered little as Sterling rounded off an impressive team move soon after.
Gundogan slipped through Sane who in turn squared it to Sterling, and the England international had his second of the evening 10 minutes later, capitalising on a Lloris mistake to roll the ball into an empty net.
There was still time for Eriksen to pull one back for his side in the dying seconds, placing the ball past Ederson with a smart finish from the final act of the game.
Manchester City: Ederson; Walker, Otamendi, Mangala, Delph; Fernandinho, Gundogan (Foden 83'), De Bruyne; Sterling, Sane (B'Silva 85'), Aguero (Jesus 58')
Tottenham Hotspur: Lloris; Trippier, Dier, Vertonghen, Rose (Davies 89'); Dembele, Winks; Eriksen, Dele (Sissoko 84'), Son (Lamela 77'); Kane