Manchester City closed the gap on leaders Manchester United to 12 points with victory at Aston Villa, who remain in the Premier League relegation zone.
The game's key moment came in first-half injury time as Ciaran Clark's failed attempt to turn Edin Dzeko saw the defender robbed of the ball.
The Bosnian selflessly played in Carlos Tevez to round Brad Guzan and score.
City took charge after the break and came closest to doubling their lead when Yaya Toure struck the post.
Roberto Mancini's side thrashed Villa 5-0 at Etihad Stadium in November but there was no sign of any such disparity in the early stages as the hosts threatened with a number of dangerous crosses towards giant striker Christian Benteke.
One such delivery saw Tevez, in the City starting line-up for injured compatriot Sergio Aguero, clear off the line as Charles N'Zogbia's in-swinging corner was met with a powerful header by Benteke.
The visitors finally began to exert control after midfielder Jack Rodwell was forced off with his latest injury set-back, to be replaced by Dzeko, and Yaya Toure was dropped back to provide a commanding presence at the base of the City midfield.
The champions began to gain more possession, and an intricate move involving David Silva produced a fingertip save from Villa goalkeeper Guzan, the American pushing full-back Pablo Zabaleta's goal-bound shot on to the post.
Villa looked on course to finish the first half on level terms until a disastrous mistake from centre-back Clark ended with Tevez opening the scoring.
As the visiting players celebrated, Villa's stand-in captain protested he had been fouled by the Bosnian and replays seemed to back up his argument, though the 23-year-old had shown his inexperience by attempting to play his way out from the back when a simple clearance was required.
The error typified a frailty in defence that has been apparent throughout Villa's now 17-game run without a clean sheet in all competitions.
Clark's mistake was repeated by Matthew Lowton after the break as Dzeko dispossessed the full-back on the edge of the Villa penalty area.
He picked out Tevez once more but, crucially, Lowton was able to get back and block the Argentine's effort with Guzan beaten.
Villa's best hope of an equaliser was on the counter-attack and a quick break saw centre-back Kolo Toure produce a fine defensive header to deny Gabriel Agbonlahor.
But that was a rare foray forward for the hosts and Yaya Toure came close to doubling the lead when he hit the base of the post with a curled effort from the edge of the box. Dzeko fired the rebound into the roof of the net but his effort was rightly ruled out for offside.
Urged on by the home support, Villa tried to build some pressure as the game entered its final stages. Their feebleness in attack, however, was summed up by a sliced corner from Lowton two minutes into injury time that went straight out for a goal kick.
A further blow was to follow as midfielder Fabian Delph, an industrious presence against City, picked up his 10th booking of the season and will now miss Villa's crucial games against relegation rivals Reading and Queens Park Rangers.
Aston Villa boss Paul Lambert:
"I thought we were well in the game. The goal is a mistake. I wouldn't have minded if someone had put one in the top corner with a bit of skill.
"But it's a mistake by us. It is easy to be critical of Ciaran. The lad has been excellent all season. He will learn from it, he won't make the same mistake again."
Manchester City boss Roberto Mancini:
"I think the performance was difficult as Aston Vila are a good team, it is strange they are at the bottom.
"It was important to get a clean sheet and the win. We had four or five incredible chances to score and their keeper saved everything.
"When Edin Dzeko plays like tonight, fighting for every ball, I like it. He could be important."