Ilkay Gundogan, in for David Silva, who was absent for personal reasons, headed the opener from Leroy Sane's corner on 14 minutes.
Kevin De Bruyne powered in a second after being played in by Gundogan with 20 minutes left.
After blasting the rebound over when Gabriel Jesus missed a penalty, Raheem Sterling made amends with two late goals.
City Academy graduate Phil Foden also made his PL debut late on, before Christian Eriksen netted Spurs' consolation in stoppage time.
Manchester United can cut the gap at the top to 11 points if they win at West Bromwich Albion. Spurs are seventh.
Man City: 23 Dec v AFC Bournemouth (H)
Spurs: 23 Dec v Burnley (A)