Everton, previously the only side yet to lose this season, went ahead through Romelu Lukaku but Alvaro Negredo, Sergio Aguero and a deflection in off Tim Howard's head after he almost saved a penalty saw City take three points, ending their poor run of form.
The visitors went ahead when Lukaku, played onside by Vincent Kompany, left Joleon Lescott for dead before forcing the ball in off Joe Hart's hand, increasing the pressure on the City keeper after recent mistakes.
City responded immediately, however, levelling when Yaya Toure played through Negredo, who beat Howard comfortably.
Despite losing Kompany to injury the hosts went on to dominate, Aguero missing several chances before putting his side ahead just before the break, finishing across Howard after a fine pass by David Silva.
Everton seemed to be running out of attacking ideas, and it was only a matter of time before City added a third, awarded a penalty when Seamus Coleman pulled back Pablo Zabaleta.
Aguero was denied by Howard’s great save, but Everton were bitterly unlucky as the ball ricocheted off the post and back on to the American’s head before going in. ‘Unfortunate’ did not do it justice.
The match fizzled out as City comfortably closed out a win that puts them second on goal difference, although the full league programme is to follow.
Pre-match – Silva lining for City: Spain playmaker David Silva returned from injury for the hosts, who retained Hart in goal despite recent clangers. Everton were without Gareth Barry, ineligible against his parent club, but Kevin Mirallas was fit to start.
16’ – GOAL (Manchester City 0-1 Everton): Lukaku is played onside by a dozy Kompany, before skinning Lescott and firing a low finish off Hart. City don’t cover themselves in glory.
17’ – GOAL (Manchester City 1-1 Everton): Negredo levels immediately, rifling it in via Howard after a lovely through-ball from Toure.
26’ – CHANCE: Aguero puts the ball inches wide after a beautiful free-kick routine. Should have scored.
39’ – CHANCE: More embarrassment for Aguero as he misses the ball and falls over after being played clean through by Negredo.
45’ – GOAL (Manchester City 2-1 Everton): Aguero makes amends with a cool low finish across Howard after Silva’s glorious pass.
68’ – PENALTY! Zabaleta is pulled back by Coleman and City have a spot-kick - it's a soft one though, the contact was marginal.
70’ - GOAL (Manchester City 2-1 Everton): Aguero’s penalty is saved by Howard, but the ball goes in off the keeper’s head. How unlucky can you get?
Manchester City extended their home scoring streak to 54 Premier League matches - almost three years since they last failed to net in a league match at home
Lukaku scored the 50th goal by a Belgian in the Premier League this calendar. Only English players have scored more (189)
Negredo scored his 20th league goal in 2013. Of all players in England and Spain in 2013, only Messi (28) and Cristiano Ronaldo (26) have more
City have never lost a game when Aguero has scored – 30 games, 28 wins, two draws
TALKING POINT – Should Milner have been sent off? The England midfielder wasn’t even booked by Jon Moss for a reckless, late challenge on James McCarthy just before half-time.
MAN OF THE MATCH
Alvaro Negredo (Manchester City): Took his goal well and was a constant threat with his power, pace and clever hold-up play.
Man City: Hart 6, Zabaleta 7, Lescott 6, Kompany 5, Silva 7, Kolarov 7, Fernandinho 6, Toure 7, Milner 7, Negredo 8, Aguero 7. Subs: Clichy 6, Nastasic 7, Nasri 6
Everton: Howard 6, Baines 6, Distin 6, Jagielka 6, Coleman 6, McCarthy 6, Osman 5, Naismith 6, Barkley 6, Mirallas 6, Lukaku 7. Subs: Gibson 6, Kone 6, Deulofeu 6
MATCH IN A TWEET