Riyad Mahrez scored the pick of the goals in between Phil Foden and Bernardo Silva’s strikes as Pep Guardiola’s men took another huge step towards a third title in four years.
Richarlison’s first-half equaliser was little consolation for seventh-placed Everton, who have now won just one of their last six league games to fall five points behind in the battle for a top-four finish.
This fixture was rearranged from late December due to a coronavirus outbreak affecting multiple players at City that threatened to derail their title challenge.
Guardiola’s side were eighth in the table at the time, but have not dropped a point in their 10 league games since to streak clear of the chasing pack.
The visitors were without the in-form Ilkay Gundogan due to a groin injury picked up in Saturday’s 3-0 win over Tottenham, while Kevin De Bruyne was fit to return from a hamstring problem but only from the bench.
Sergio Aguero was also among the substitutes, but Gabriel Jesus has failed to make the most of his chance to shine in the absence of the Argentine for most of the season and the Brazilian had another off night in front of goal.