Adam Johnson came back to haunt Manchester City as the defending champion slid to a third straight 1-0 Premier League defeat at Sunderland.
The England winger, considered surplus to requirements at the Etihad Stadium during the summer and was allowed to join the Black Cats in a $16.3 million move, embarrassed former teammate Joe Hart with a dipping 53rd-minute strike which beat him at the near post and clinched three precious points for his new team.
However, the winner was not without controversy as the visitors argued they should have been awarded a free kick for a foul on Pablo Zabaleta during the attack.
The loss dropped City seven points off the pace after leader Manchester United beat Newcastle 4-3 at Old Trafford.
"We had a lot of chances, we played well, but we didn't score," City manager Roberto Mancini said. "This is our problem, we don't score. We don't score enough goals to win the game.
"Last year, we scored one, two, three goals every game. Now when we have chances, we are too soft and this is not good. We are too soft in attack, too soft when we have chances, too soft when we shoot."
Sunderland turned in one of its best displays of the season on a day when City played only fitfully, and Hart had to turn away Steven Fletcher's skidding effort and keep out Stephane Sessegnon 10 minutes from time.
However, if Johnson was the hero in front of a delighted Boxing Day crowd of 42,190, keeper Simon Mignolet deserved equal praise.
"They are very lucky against us," Mancini said. "They defend well, but we need to be stronger."
City arrived determined not to complete an unwanted hat trick of 1-0 league defeats on Wearside and, after a lackluster start, eased themselves into the game.
The visitors might have been ahead with just eight minutes gone, but Vincent Kompany's header came back off the crossbar and Yaya Toure's goal-bound follow-up was hacked away by Mignolet, who reacted instantly to deny City an early lead.
Silva curled a 10th-minute free kick wastefully over the goal and Toure saw a curling effort plucked from underneath the crossbar by Mignolet three minutes later.
City was pinning Sunderland deep inside its own half and it seemed only a matter of time before it made the pressure tell.
Mignolet had to be at his best once again with 24 minutes gone after Carlos Tevez and Aguero combined to put Silva in on goal, only for Mignolet to block his effort at close range.
But seconds later, Hart had to dive to his right to turn away Fletcher's rasping left-foot drive and the Black Cats, buoyed after weathering the early storm, started to force their way into the game.
Johnson was enjoying the better of his individual battle with Zabaleta, who played much of the half with a heavily bandaged head after suffering a cut, and as James McClean took up the theme, Martin O'Neill's men upped their tempo.
Larsson drilled a late free kick straight into the defensive wall, but he and his teammates left the pitch at the break with their clean sheet intact and everything still to play for.
Sunderland picked up where they had left off after the restart as McClean and Johnson, with the help of Sessegnon and Fletcher, stretched City uncomfortably at times. It was they who took the lead with eight minutes of the half played.
City boss Roberto Mancini and Zabaleta were left appealing in vain for a free kick for Gardner's challenge on the fullback, but Johnson picked up possession and cut inside before blasting in a dipping shot which caught Hart flat-footed at his near post and squirmed into the bottom corner.
Sessegnon might have doubled his side's advantage within two minutes, but pulled his effort across the face of goal with City in disarray.
The visitors were almost breached once again on the hour when McClean picked out Sessegnon in front of goal, but the Benin international could not take the ball in his stride.
Kompany, who had already been booked, was fortunate to escape a second yellow card for a block on McClean as City struggled to contain a Black Cats side growing in confidence by the minute.
But the visitors gradually regained their composure and started to move the ball confidently once again and Mignolet had to claim a 68th-minute Zabaleta cross at his near post after being played in by James Milner.
The Belgium international excelled himself once again two minutes later to deny Aguero one on one, but it was Hart in the firing line with 10 minutes remaining when Sessegnon was played in by substitute Fraizer Campbell with the keeper coming out on top.
City battered away at its foe as time ran down, but with Sunderland defending deep and with tenacity, it simply could not find a way through and McClean almost served up the perfect finish with an 88th-minute shot which flew just wide.
Information from Press Association and The Associated Press was used in this report.