The former Manchester United man dealt the decisive blow as the Black Cats picked up their second win under new boss Gus Poyet and dented City's title challenge.
Manchester City fell to a fourth consecutive 1-0 defeat at the Stadium of Light as Sunderland secured its second win of the season.
Phil Bardsley was Sunderland's match-winner with his first Premier League goal of the season in the 21st minute. The defender perfectly placed a shot past Costel Pantilimon in the Manchester City goal, but Sunderland had to hang on to claim the victory.
Sergio Aguero saw a first-half header fly wide, while substitute Jesus Navas had a chance blocked by Bardsley on the line. City pushed hard for an equalizer, penning the hosts inside their own half, but Micah Richards and Eden Dzeko were both denied by Vito Mannone.
The three points lift Sunderland to within two points of Stoke City in 18th position, while Manuel Pellegrini’s side loses further ground on the leaders.
Pellegrini made five changes from the Champions League win over CSKA Moscow, with three of the alterations coming in his back four.
Wes Brown started his first Premier League game in 22 months for Sunderland, while Steven Fletcher and Sebastian Larsson both returned.
Despite an equal share of possession it was the hosts who had better of the early chances, but in the 18th minute they were lucky to see Larsson stay on the pitch after a mistimed challenge on Javi Garcia. The tackle did not bring a card, but the Spaniard was withdrawn at halftime.
Three minutes later Poyet's side broke the deadlock through Bardsley. The defender shrugged off the attentions of James Milner and Martin Demichelis, who got in each other’s way on City’s right, and placed a composed finish into the far corner.
Just after the half-hour City had its first sight of goal through Aguero, but the Argentina international wasted a fantastic chance. After being released by Samir Nasri on the left, Aleksandar Kolarov delivered a cross to the back post for the 25-year-old, yet he was unable to get his back-post header on target.
The visitors were denied an equalizer five minutes into the second half as Bardsley blocked a shot from Navas, who replaced Garcia, on the goal line. Aguero rolled away from John O'Shea on the left and raced into the penalty area before rolling the ball back to Navas, but his shot was blocked by the chest of the defender.
City's dominance intensified in the closing stages but Richards saw a low shot from the edge of the penalty area stopped by Mannone, and substitute Dzeko's first effort was parried away by the Italian prior to a frantic finale that saw Sunderland hold on.