Here, ESPNSTAR.com takes a look at the players who took to the field on Sunday afternoon.
Simon Mignolet - 7
Slight shaky start from Mignolet, putting in a couple of weak punches when dealing with high balls. However, the Belgian soon found his feet and made a smart save to deny Edin Dzeko in the first half from point-blank range by making himself big.
Didn't exactly hold on to the many shots fired at him, but he recovered well to gather the rebound before the City attackers could pounce.
Craig Gardner - 8
Gardner made a mockery of the fact that he was playing out of position, showing excellent defensive awareness as he tracked his opponents well all game long.
Made sure the City players knew he was there by putting in a number of crunching tackles, and denied Pablo Zabaleta a clear goal-scoring chance when he put his body on the line to block the Argentinean's blistering effort from a tight angle.
John O'Shea - 7.5
An excellent display by the Republic of Ireland international, who didn't allow anything to get past him.
Wes Brown (off 26') - 7
Yet another injury for Sunderland, and an unfortunate ending to the afternoon for Brown, who was arguably the best player on the park up till his departure.
Hardly gave Edin Dzeko a sniff of the ball, snapping at the Bosnian with sharp tackles, and also made a couple of clever interceptions.
Jack Colback - 6.5
Spent all of the game defending and offered Sunderland virtually nothing going forward. Still, Colback carried out his duties adequately, considering he was also played out of position.
Sebastian Larsson - 7
The Swede didn't provide his usual creativity in the final third, but he more than made up for it by putting in an extended shift in the middle of the park, regularly tracking back to offer a spare man in defence.
Lee Cattermole - 9
Showed what it means to be a captain by sacrificing life and limb for the Sunderland cause. Never gave his opponents a spare moment to dwell on the ball, and did not try to over-complicate matters when he was in possession.
Man-of-the-match by a mile.
David Vaughan (off 83') - 6
Subdued display from Vaughan who is still struggling to make an impact since arriving at the Stadium of Light in the summer.
James McClean - 8.5
McClean remains a fairly unknown quantity in the Premier League, but if he continues to perform like he did against City, it won't be long before he is recognised as one of the best left-wingers in the country.
Was pegged back in his own half for much of the match due to the Citizens' dominance, but on the few occasions he managed to venture forward, McClean showed plenty of pace and skill, embarrassing the City defenders on a number of occasions with his jinking runs.
Stephane Sessegnon - 7.5
Dangerous at times, but was overindulgent far too often. Could have released his team-mates earlier, yet preferred to take an extra touch or two.
However, the Beninese's class prevailed in the second half, as he was a constant outlet for Sunderland when the City piled on the pressure, and it was he who supplied the pass for Ji's dramatic late winner.
Nicklas Bendtner (off 78') - 5
The on-loan Dane could have given Sunderland the lead in the opening minutes, yet looked indecisive after being put through on goal, allowing Joe Hart enough time to rush out and block his effort.
Spent the rest of the game making aimless runs, and if he is to fulfill his true potential, Bendtner needs to realise he is not as good as he thinks he is, and put in the necessary hard work that could see him become a feared striker.
Matthew Kilgallon (on 26') - 7
Only included in the squad due to Sunderland's defensive problems, Kilgallon showed he could still have a role to play at the Stadium of Light, especially after beating the towering Dzeko in a number of aerial challenges.
Ji Dong-won (on 78') - 7
Brought on with twelve minutes to go and actually looked pretty sloppy with a number of heavy touches, until the game-defining moment in injury time, when he exchanged a one-two with Sessegnon, before rounding Hart and tapping into an empty net.
Ahmed Elmohamady (on 83') - N/A
Brought on late with insufficient time to make an impact.
Joe Hart - 7
The England number one was only significantly involved at the start and end of the game.
First, he did well to rush and deny Bendtner a clear-cut scoring opportunity by making himself big. However, right at the death, his defence exposed him, allowing Ji to dance around him and score a late winner.
Still, that goal was by no means Hart's fault, and the City custodian once again looked steady whenever called upon.
Pablo Zabaleta - 6.5
Fairly lively showing from the Argentinean, who never missed out on an opportunity to get forward. Could have tested Sessegnon in the second half had it not been for a brave block from Garnder.
Vincent Kompany - 8
As usual, the Belgian centre-back led by example, but it wasn't just his defensive work that was outstanding.
The City skipper charged forward on several occasions, looking to inspire his team when they looked bereft of ideas in the final third.
Joleon Lescott - 7
Considering the lack of goal attempts Sunderland mustered, it's difficult to find fault with the City defence. In all honesty, the result should have been beyond doubt long before Ji had the chance to grab a late goal.
Aleksandar Kolarov (off 67') - 7
A good return from injury by the Serb, who was eventually brought off after tiring in the second half. Showed good drive in the opening period, regularly venturing forward to support his midfielders, and whipped in a couple of dangerous balls from the left.
Gareth Barry - 6.5
Provided a good shield in front of the City backline, but could have offered more going forward. Instead, the England international looked content to let his more attack-minded team-mates do the work in the final third.
Nigel De Jong (off 46') - 6.5
The Dutch international hasn't featured much for City this season, and his lack of match practice showed as he looked off the pace early on, picking up a booking after just eight minutes for a cynical challenge on Cattermole.
It came as no surprise when he was taken off at halftime for the more attack-minded Sergio Aguero.
Yaya Toure - 7.5
The Ivorian was close to being the best player on the park in the first half, offering City plenty of drive from midfield, and got in behind the Sunderland defence on a number of occasions.
However, seemed to fade away in the second 45, but showed enough to suggest Roberto Mancini will desperately miss him when the Africa Cup of Nations starts on January 21.
Adam Johnson - 8
The most impressive of City's attackers. Johnson proved a handful for the Sunderland fullbacks, twisting and turning past some desperate tackles, and putting in a number of dangerous balls into the box.
One still wonders why he does not feature more often for City, considering he is perhaps the only out-and-out winger they have in their ranks.
Samir Nasri (off 55') - 6
Nasri hasn't quite discovered the form he showed at Arsenal last season that convinced City to splash the cash on him.
Showed a couple of nice touches in the first half, but struggled to get into the game.
Edin Dzeko - 4
While the Bosnian struggled to get into the game in the first half, he at least came close to scoring on the few occasions he was presented with an opportunity. First, he reacted well to a loose ball to fire a shot goalwards, only to see it blocked by Mignolet, before he clipped the crossbar with an excellent half-volley.
However, things got from bad to worse in the second period as Dzeko showed why he's currently suffering from a goal drought, displaying a poor first touch on numerous occasions. It wouldn't be surprising if Mario Balotelli lined up against Liverpool in place of Dzeko on Tuesday.
Sergio Aguero (on 46') - 6
Plenty was expected from the Argentinean as he made his way onto the pitch for the second half, yet Aguero failed to get into the game. His only chance came when he found himself through on goal with only Mignolet to beat, yet he rushed his effort, firing it straight at the Sunderland keeper.
David Silva (on 55') - 7.5
On the contrary, at least Silva had the desired impact in the 35 minutes he had on the field. Glided effortlessly past the Sunderland defenders, and was never wasteful with his distribution, putting in a number of dangerous balls.
Micah Richards (on 67') - 6
Missed a good chance to put City in front when he managed to head the ball against the crossbar when an unguarded net beckoned, after Mignolet had parried a shot straight into his path.