Before the game, City sat fifth in the league, but they had a golden chance to put pressure on their rivals. They started strongly, with Matheus Nunes forcing a smart save from Jordan Pickford.
Everton, however, had the best opening of the game, with James Tarkowski heading a corner kick against the post.
City's best chance came from Nunes, whose cut-back was deflected away by Jake O’Brien. Everton's defenders were the stars of the show, with Jarrad Branthwaite and Abdoulaye Doucouré both missing chances.
City ramped up the pressure in the final 20 minutes, with Savinho's strike forcing Pickford into action. The game looked to be heading towards a stalemate, but City's resistance was broken five minutes from time.
Nico O’Reilly stole a march at the near post to turn home Nunes' delivery, and Mateo Kovačić sealed the win in stoppage time. It was a thrilling finish that secured City three crucial points, moving them four points inside the top five.
Flashscore Man of the Match: Nico O’Reilly (Manchester City)
Catch up on the match here.