The good news for Manchester City is that they closed the gap to Manchester United back to 12 points with this win. The bad tidings are that another round of matches is now chalked off and with 11 matches left Sir Alex Ferguson's team show no sign of taking their feet off the champions' throat.
As United coast past their latest obstacle – as they did in the 2-0 win at QPR – City continue to scramble results and appear nothing like the threshing machine of last season. They had to survive a rare Frank Lampard miss from the penalty spot – courtesy of Joe Hart's save – before Yaya Touré and Carlos Tevez confirmed a deserved win against a Chelsea side that lacked fluency.
The dream of retaining the title was moribund but Roberto Mancini's men could not countenance going down whimpering. City had to defeat Chelsea to start clawing back the points margin to a more respectable one.
Their strategy was the one that has misfired for much of the campaign: get David Silva on the ball and let him spy the hidden angles to slip in a team-mate for the finish. The afternoon turned out to be one of the few occasions the Spaniard was in touch with his muse. On several occasions he flitted around the Etihad turf to unlock a Chelsea rearguard that was competitive but lacked the second sight required when Silva is on his game.
On 16 minutes Pablo Zabaleta, the captain in Vincent Kompany's absence, drove down the right and sent over a ball in Sergio Agüero's direction that was cleared. From the ensuing play Silva popped up on the other flank and threaded a pass to Yaya Touré. The Ivorian, playing in the "hole" with Jack Rodwell picked in his holding midfield role, saw his shot deflected off Branislav Ivanovic.
A corner followed and, when Rodwell gained possession, his turn-and-shot was blocked before Agüero was put in by Silva, who collected the ball after David Luiz's pass to Mikel John Obi fell short. But the Argentinian, having beaten Petr Cech, overran the ball.
Before the interval City's other chances were a Zabaleta shot inadvertently stopped by Touré and a 25-yard Rodwell effort that warmed Cech's fingers.
Though Rodwell – outstanding until his removal after the break – was also a threat from several Silva corners and when making late runs into the area, at half-time Rafael Benítez might have told his side to be more direct.
Twice Lampard had profited from this ploy on the City left during the first half and, when they won a penalty seven minutes into the second period, it was from a quickly hit diagonal from Ivanovic to Ba. As the striker raced at goal he eluded Kolo Touré before Hart went to challenge him. He tried to pull out but there was contact so Andre Marriner pointed to the spot. Yet Lampard's kick was saved impressively by the goalkeeper and Kolo Touré scrambled it away for a corner.
Hart's effort roused his team-mates. Silva, again, was the conductor-in-chief. His ball over the top was controlled by Agüero, though the touch took him wide and Gary Cahill was able to get a leg in the way. Milner was next up when his pass put Agüero in again but this time his chip over Cech was aimed too high.
When City finally took the lead it was after Ramires had spurned a golden chance to open the scoring. Put clear by Ivanovic he dawdled in the home area, allowing Kolo Touré to snuff out the danger.
As play moved down the other end, it was the defender's brother who stepped up to score a fifth league goal this season. Milner fed Silva in the Chelsea area and the Spaniard knocked the ball into Yaya Touré, who ghosted past Mikel and found the far corner of Cech's goal with the keeper partially unsighted by Cahill.
Carlos Tevez, on for Rodwell, confirmed the result late on with a firm finish after smooth link-up play from Agüero and the continually impressive Silva.
This had been Rodwell's first start due to disruptive hamstring problems since the 3-1 win here over Queens Park Rangers on 1 September and Mancini was pleased. "He played very well," he said. "After his minutes he was tired and for this reason we changed him but he did very well and I'm very happy for him."
Man of the match David Silva (Manchester City)