Everton came into the game unbeaten in their first six matches of the 2013-14 season and went ahead early on through Romelu Lukaku.
But Alvaro Negredo equalised immediately, before Sergio Aguero's goal just before half-time gave City the lead at the break.
A Tim Howard own goal in the second-half sealed a fine victory.
The result moved City up to third in the table after seven matches of the season.
"I am very pleased by the character the team showed today," manager Manuel Pellegrini said afterwards. "We really needed this victory because at the start of the game we were five points behind Arsenal and it is important to continue wining here at home."
And you can watch highlights of the game above!