City were seven points behind Liverpool on January 19 but Wednesday's win sees them move level with Jurgen Klopp's Reds, the defending champions taking over at the summit on goal difference.
Aymeric Laporte's second league goal of the season put City ahead in the final moments of the first half, Everton giving the defender the freedom of the penalty area to head past Jordan Pickford.
The visitors wasted a number of chances to extend their lead before Gabriel Jesus wrapped things up in stoppage time, condemning struggling Everton to a seventh defeat in their last 10 league matches.
Leroy Sane missed the game's first chance in the third minute and Laporte could do no better with a quarter of an hour played, the unmarked defender somehow heading wide from Ilkay Gundogan's left-wing corner.
City's wastefulness in front of goal continued when Gundogan met David Silva's low delivery, the Germany international somehow turning the ball onto the crossbar from close range.
Everton slowly grew into the game and although they began to pose a threat, Ederson was rarely worried as the hosts ran out of ideas in the final third.
And that proved costly as City broke the deadlock on the brink of half-time, Laporte making amends for his earlier faux pas with a powerful header from David Silva's precise free-kick.
Ederson was finally called into action early in the second half, the Brazilian having no problems holding onto Idrissa Gueye's long-range effort.
It did not take City long to re-establish control, however, and Sergio Aguero almost added to his 14 league goals with an acrobatic effort, the striker leaping into action after David Silva had blocked Pickford's progress to a high ball.
City's profligacy continued as substitute Raheem Sterling saw an effort deflected over, but Jesus made no mistake in the seventh added minute, sending a looping header into the net after his initial effort had been saved.
What does it mean? Pressure back on Liverpool
For the first time since mid-December, Liverpool are not top of the table. City made the most of this game being moved forward for the EFL Cup final to pile on the pressure. City have 12 games remaining in the 2018-19 season, Liverpool have 13. It looks set for a thrilling climax.
Gundogan shows his worth
Despite all their attacking quality, City's top man came from a little further back as Gundogan's all-round display showed his importance to Guardiola's plans. The midfielder neatly knit together City's play with precise passing and good movement, his vision created numerous chances and had his team-mates shared his ability to spot a pass, he could have extended City's lead.
Kenny struggles on recall
Coming in for only your seventh start of the season against City is a thankless task and Jonjoe Kenny understandably struggled at right-back against the lively Sane. Too often the 21-year-old was caught out of position, and he was lucky his side were not punished further - although he got little support from Theo Walcott ahead of him.
Key Opta Facts
- City have scored with their first shot on target in 15 Premier League games this season – six more than any other team.
- Everton have conceded more goals from set pieces than any other Premier League team in all competitions this season (19).
- All four of Laporte's goals in all competitions for Manchester City this season have been headers from set pieces in away matches.
- Marco Silva has now lost five Premier League games against Manchester City – two more than he has against any other opponent.
- Manchester City have won 10 of their last 11 matches in all competitions (L1), scoring 39 goals and conceding just five.
City could be back in second place when they welcome Chelsea to the Etihad Stadium on Sunday, with Liverpool playing Bournemouth 24 hours earlier. Saturday also sees Everton travel to Watford, Marco Silva making his first return to Vicarage Road.