Roberto Manciniâ€™s men were staring down the barrel of a first home defeat since December 2010 after Steven Caulker gave Spurs a 21st minute lead but second half goals from Sergio Aguero and super-sub Edin Dzeko allowed City to go within two points of league leaders Manchester United.
City again came undone from a set piece when Tom Huddlestoneâ€™s brilliant delivery from a right-flank free-kick was met by Caulker who bounced his header from the middle of a pack of players just in front of Joe Hart who could only swat it into the back of his own net.
The reigning champions were beginning to increase their output as the minutes ticked on and managed to go level in the 65th minute when the ball fell into the path of Aguero from Yaya Toureâ€™s deflection with the Argentine cleverly cutting back around Caulker to guide it past Brad Friedel with his left foot.
A resilient City then managed to edge in front with three minutes remaining when substitute Dzeko, who has netted six of his seven goals off the bench this season, got on the end of Silvaâ€™s deft chip to rifle home a volley on the turn with his left foot which left Friedel no chance whatsoever.
The hard-fought victory has City hot on the heels of United whilst Spurs have to be content with remaining sixth, just one point ahead of North London rivals Arsenal.
Etihad Stadium, Manchester