Both City and Liverpool have 62 points, but City have the upper hand on goal difference, having played one game more than Juergen Klopp's side.
It is the first time City have been top since December 8th.
Liverpool play Bournemouth this weekend and City host Chelsea.
The match was a re-arranged fixture caused by City's advance to the League Cup final and the visitors took the lead on the stroke of halftime when French defender Aymeric Laporte was left unattended to head home a David Silva free kick curled in from the left.
The goal was the 17th conceded by Everton from a set-piece in all competitions this season.
"We are leaders, but 12 games to play, a lot of games. I think we are going to drop points, hopefully less than the other teams. I don't think any team will win all 12 games," manager Pep Guardiola said.
"I don't know how far we will get, maybe we will die on the road, but we are trying," he said.
Two of City's substitutes combined for the second goal deep in stoppage time with Kevin De Bruyne playing Gabriel Jesus in on goal.
Although the Brazilian's shot was blocked by Everton keeper Jordan Pickford, he reacted quickly to head home the loose ball.