Manuel Pellegrini's defending champions entered the match level with Chelsea at the Premier League summit and Fernandinho's 74th-minute header appeared set to preserve that state of affairs.
Yet Joe Hart, who had earlier made a pair of fine saves from Romelu Lukaku, came needlessly from his line and allowed Steven Naismith to convert Leighton Baines' free-kick four minutes later.
City's slick passing game clicked instantly into gear as they dominated for long periods of the first half, although wasteful finishing from Stevan Jovetic and Jesus Navas threatened to undermine them before Everton full-back Seamus Coleman clattered the crossbar from distance.
A more even second half followed and a buoyant Goodison Park crowd was delighted to see Naismith end a worrying slump for manager Roberto Martinez.
John Stones made his first Everton start since Boxing Day at centre-back with Antolin Alcaraz (suspension) and Sylvain Distin (groin) unavailable, while Aiden McGeady was preferred to Kevin Mirallas.
Captain Vincent Kompany and top scorer Sergio Aguero returned to the City bench following injury lay-offs as Yaya Toure's Africa Cup of Nations absence meant Fernando partnered Fernandinho in midfield.
David Silva posed early problems in front of the Everton defence and City's Spain playmaker threaded a pass for Jovetic to blast over in the ninth minute.
An error from Phil Jagielka gave Silva the chance to craft a clearer opening but Navas side-footed wastefully wide.
Everton spurned promising free-kick opportunities as Lukaku and Baines drove into defensive walls, but City remained on top in open play – Jovetic twice off target from the edge of the area having linked smoothly with Silva.
Pellegrini's team arguably over-played when pinning Everton back under sustained pressure and they almost paid two minutes before the break.
Hart stood firm to deny Lukaku and Coleman crashed a swerving left-footed strike against the crossbar to conclude the attack.
Those near-misses spurred Everton on during the opening exchanges of the second half, with Lukaku's powerful forward play to the fore.
The Belgium international stormed beyond Eliaquim Mangala in the 57th minute to draw a second excellent stop from Hart.
With City lacking a similar presence in attack, Pellegrini turned towards Aguero in favour of Jovetic with 24 minutes remaining.
Jagielka had the ball in the net in the 69th minute but Naismith was penalised for a foul on Hart, while Aguero teed himself up to volley goalwards at the other end.
Silva was predictably involved when City broke the deadlock – Fernandinho heading past Coleman on the line when his team-mate's deflected shot looped in his direction – yet their advantage was short-lived.
Baines arched in a fine free-kick from the left but Hart's decision to come for the cross was rash and Naismith nodded home, leaving City to ponder a two-point deficit at the summit as they prepare to host Arsenal next weekend.
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.