Substitute Jermain Defoe grabbed a late goal to give Tottenham a crucial win.
Spurs celebrate Chimbonda's controversial opener
Pascal Chimbonda gave the home side a controversial lead when he deflected the ball in with his arm from an offside position.
Substitute Rolando Bianchi headed Manchester City level when he powered in Martin Petrov's corner.
But Stephen Ireland was sent off for a two-footed lunge on Young-Pyo Lee and Defoe crashed home the winner after Steed Malbranque's cross hit the post.
Spurs will feel it was a win they deserved after an impressive first-half display.
Darren Bent, preferred to Defoe up front, spurned two glorious opportunities to put them ahead in the opening 25 minutes.
The first chance saw the England striker denied by the on-rushing Andreas Isaksson after being sent clear by Berbatov's superb pass.
Bent then wastefully blazed a shot across goal after another delightful flicked pass from his Bulgarian strike partner.
Spurs were on top and took the lead seconds before half-time, but City were livid that the goal was allowed to stand.
A hotly disputed Spurs free-kick on the left touchline was cleverly passed into the near post area by Jermaine Jenas and Berbatov got in front of his marker to backflick the ball goalwards.
Chimbonda, who was standing in front of Isaksson, deflected the ball in from three yards with his arm.
Bemused City defenders crowded around referee Mark Halsey but the goal was given.
City, for all their neat football, once again looked toothless in attack.
Darius Vassell was often isolated up front and when the brittle Spurs defence backed off, City lacked the presence and creativity to find a way through.
I am not happy with the defeat but I am with how we behaved. If we play like this I don't think we will lose many games
Their only telling shot on goal in the opening period came when Kelvin Etuhu, making his first Premier League start, showed good skills on the right wing, cut inside and blazed a shot into the side netting.
City brought on Bianchi soon after the restart and with the home side looking increasingly nervy the visitors drew level when the Italian raced to the near post and headed Petrov's vicious corner past Paul Robinson.
The visitors looked set for a rousing finale but all hopes of snatching a win in the final 10 minutes ended when Ireland was sent off for a terrible two-footed lunge on Lee.
Within seconds City were made to pay when Malbranque's cross evaded everyone and bounced back off the post to Defoe who crashed the ball home from eight yards.
Defoe had two more chances to seal the win but Spurs did not need the cushion of a third goal and held on for a win that ensured they were not sucked into the Premier League's relegation zone.
Tottenham assistant manager Gus Poyet:
"We needed this a lot after losing last week against Birmingham. It was a good game, very open and good for the supporters.
"Jermain's goal means a lot to everyone - especially to him.
"But all three subs did very well. It's not just about the 11 that start, it's about the whole squad."
Manchester City manager Sven-Goran Eriksson:
"It was a bad result but we played one of our better away games. We were brave and tried to win. It was a very open game.
"I am not happy with the defeat but I am with how we behaved. If we play like this I don't think we will lose many games.
"I have no complaints about the red card. It was the right decision and we have to learn. Maybe their goal was offside, maybe it was handball but sometimes you get them and sometimes you don't."
Tottenham: Robinson, Chimbonda, Dawson, Kaboul, Lee, Lennon (Boateng 67), Jenas, Zokora, Malbranque, Berbatov (Tainio 90), Bent (Defoe 77).
Subs Not Used: Cerny, O'Hara.
Booked: Defoe, Jenas.
Goals: Chimbonda 45, Defoe 83.
Man City: Isaksson, Corluka, Richards, Dunne, Garrido, Ireland, Johnson, Etuhu (Bianchi 58), Gelson, Petrov, Vassell (Geovanni 84).
Subs Not Used: Hart, Jihai, Onuoha.
Sent Off: Ireland (82).
Booked: Garrido, Dunne, Gelson.
Goals: Bianchi 61.
Ref: Mark Halsey (Lancashire).