Produced three excellent stops in the first quarter of the game, twice from Yaya Toure and once from Silva, to keep Sunderland level in the first half. Made further stops from Aguero after half-time to keep the Black Cats ahead.
Martin O'Neill wants to bring the Tottenham loanee to the Stadium of Light permanently, and he turned in another solid game at the back, shackling Milner and Kolo Toure on his flank.
Just the former Leeds man's third start of the season, and he looked decidedly rusty when defending high up the field.. Was always going to come off worse against Aguero's pace but stuck to his task, making some great last-ditch blocks and tackles when under the cosh.
Sunderland's captain in John O'Shea's absence and the former Aston Villa man was a pillar of excellence for the hosts. Won headers, timed tackles to perfection and threw his body at everything inside the box to seal a memorable win for his side.
Grabbed a goal against his former club, taking full advantage of poor positioning from Joe Hart. Was otherwise frustrating, with a lack of final product and tentative tracking back occasionally putting his side in trouble.
Was given less help from Johnson, and found himself often outnumbered as Zabaleta attacked at will. Was overrun for much of the game with City's best openings coming from his flank.
Deployed deep in midfield with Colback in an attempt to soak up the pressure coming through the middle. Proved tough to beat and also showed good technique going forward, picking out attacking team-mates with clever passes.
A steady presence in the middle. Martin O'Neill has bemoaned a lack of physicality in his midfield in the past, but the Killingworth-born player brought that to the table, snapping into City's leading lights.
Tireless down the left flank as he chased Kolo Toure back throughout the game. As a result was slightly less prominent in attack, but still played a couple of decent balls across the pitch.
Buzzed around City's defenders putting them under pressure in an attempt to force a mistake. Should have settled the game late on but prodded at Hart when clear on goal.
Held the ball up strongly when fed and called Hart into action with a low drive in the first half. Provided a more supporting role to his side as the fulcrum in attack.
Woefully out of position for the hosts' only goal, but kept his side in the game late on with one-on-one saves from Sessegnon and Campbell.
Rattled the cross bar from Silva's corner in the opening stages, but looked leggy on his return from a groin injury. Booked early in the game and was lucky to avoid a dismissal for clattering McClean in the second half.
A willing runner at right-back but lacked the composure when in dangerous positions to contribute. With McClean tired from chasing him back, was given few problems in defence.
Held things together at the back largely, putting in a display of strength and composure. Handled Fletcher well and brought the ball out from the back nicely, often picking the right pass to move things forward.
Had his head cut open by a stray Fletcher boot early in the game but persevered through with a bandage across his head and continually charged forward, creating a couple of openings that were not put away.
Ran and ran and ran, but lacked any real technique, wasting a couple of crossing opportunities as well as hitting an effort from a free kick well over the crossbar. Struggled to beat the pacey Rose.
Looked laboured in midfield, but still brought two great saves out of Mignolet. Grew frustrated with the terrier-like Colback snapping around him and resorted to fouling the flame-haired midfielder.
A rare bright spark for the champions. Silva was at his typical twinkling best with fine footwork, intelligent passing and creative running all heavily featured. Unlucky to see Mignolet spectacularly keep out his close-range effort.
Completely anonymous until booked late on in the opening period and got little better in the second. Not the player City needed on this occasion.
Dropped deeper and looked to create chances for Aguero. Found his compatriot with a few excellent passes, although Aguero could not finish any of the chances given to him. Brought off for Dzeko in the 72nd minute.
Had too much pace for Cuellar and Killgallon to handle, but failed to finish off any chances afforded to him. Came out wide in an attempt to create for others, but this limited City's attacking threat.