Manchester City have closed the gap on Premier League leaders Chelsea to three points after beating Everton 1-0 at the Etihad Stadium.
The hosts were dealt an early blow when the in-form Sergio Aguero limped off with a knee problem, which makes him a doubt for the crucial Champions League clash with Roma in midweek.
Despite losing the influential Argentine, City made the breakthrough in the 24th minute when Phil Jagielka was adjudged to have fouled James Milner inside the box.
The England international protested his innocence, but he could only look on in frustration as Yaya Toure opened the scoring from the penalty spot.
Roberto Martinez revealed his anger on the touchline when Fernando escaped with a booking after catching Gareth Barry with a high foot - a challenge which came after Eliaquim Mangala had only been shown a yellow card for driving his foot into the back of Samuel Eto'o.
Everton rarely threatened in the first half, with Kevin Mirallas coming closest for the visitors before the break when he fired a deflected half-volley just past the post.
Martin Demichelis had the chance to double City's lead when he headed over the crossbar after finding space to meet a corner.
Jose Angel Pozo, introduced as a replacement for the injured Aguero, thought that he had scored early in the second half, but an impressive save from Tim Howard kept out the Spanish teenager.
The introduction of Ross Barkley from the bench improved Everton as an attacking threat, but clear chances were difficult to come by for the visitors.
It was the Citizens who created the next chance when Frank Lampard's chipped pass was headed by fellow substitute Edin Dzeko into the path of Milner, who struck his volley just over the crossbar.
Joe Hart then made a vital contribution to protect City's lead with a diving stop from Romelu Lukaku's volley, and that would prove to be the closest Everton would come to an equaliser as the champions held on for a fourth straight win.