A double to Gabriel Jesus and a goal from Raheem Sterling sealed the victory as they leapfrogged Liverpool ahead of the Reds’ clash with Manchester United.
Elsewhere, Spurs were rescued by a 91st minute winner from Christian Eriksen as they stole all three points against Burnley.
There was also a relegation blow for Aaron Mooy’s Huddersfield as they went down 1-0 in an important clash with fellow strugglers Newcastle - the Aussie missed the match with a long term knee injury.
HERE’S A FULL WRAP OF THE OVERNIGHT ACTION...
MANCHESTER CITY 3-1 EVERTON
Manchester City laid down the gauntlet to Liverpool by leapfrogging their title rivals back to the top of the Premier League with a 3-1 win over Everton at the Etihad on Saturday.
Gabriel Jesus enjoyed a welcome return to form by scoring his first league goals in four months either side of half-time to put City two goals up.
Jesus answers City's call0:37
Dominic Calvert-Lewin briefly gave Everton hope, but Raheem Sterling came off the bench to make the game safe with his first touch as City moved two points ahead of Liverpool, who host Manchester United on Sunday.
Pep Guardiola could even afford the luxury of leaving Kevin de Bruyne and Sergio Aguero on the bench on their return from injury as the Catalan coach again shuffled his pack for the busy festive period.
But fears in recent weeks that City lack a predator in front of goal when Aguero is absent were quashed by two fine finishes from Jesus.
SPURS 1-0 BURNLEY
Christian Eriksen came off the bench to score the stoppage-time goal that earned Mauricio Pochettino his 100th Premier League victory as Tottenham manager in a hard fought 1-0 win over Burnley.
The struggling Clarets had been seconds away from leaving Wembley with a precious point against hosts who had clinched qualification for the last 16 of the Champions League by drawing 1-1 at Barcelona in midweek.
Spurs saved by Eriksen strike1:24
Now, Spurs can look forward to Monday’s last 16 draw in the knowledge that third place in the Premier League table will still be theirs whatever top-four rivals Chelsea and Arsenal do on Sunday.
HUDDERSFIELD 0-1 NEWCASTLE
Newcastle ended a sequence of four matches without a win after Salomon Rondon scored the only goal in a 1-0 victory at fellow English Premier League struggler Huddersfield on Saturday.
Former West Bromwich Albion forward Rondon sent Huddersfield plunging to a fourth straight league defeat after finishing off a counterattack in the 55th minute, having been set up by Javier Manquillo at rainswept John Smith’s Stadium.
Magpie magic sinks Terriers1:27
Chris Lowe forced a good stop out of Newcastle goalkeeper Martin Dubravka an hour in, and Laurent Depoitre also had a header saved, but another loss for David Wagner’s team meant it remained third from bottom in the standings. Rafael Benitez’s Newcastle was up to 14th, six points clear of the relegation zone.
CRYSTAL PALACE 1-0 LEICESTER
Crystal Palace showed it can cope without Wilfried Zaha, the club’s most influential player, when the London team edged Leicester 1-0 in the English Premier League on Saturday.
The Ivory Coast forward was sidelined through suspension but captain Luka Milivojevic produced an outstanding first-half finish to lift his side to 15th place in the standings and clear of the bottom three.
Palace down Foxes after gem1:29
Palace had not won a fixture without Zaha since September 2016, a run stretching back 13 games, all of which ended in defeat.
Leicester was unfortunate not to go in front before Milivojevic’s goal when Jamie Vardy found the back of the net. The former England striker, though, was adjudged to have fouled Palace goalkeeper Vicente Guaita, who was handed his league debut after back spasms ruled out Wayne Hennessey.
WATFORD 3-2 CARDIFF CITY
Watford withstood a late rally from Cardiff to prevail 3-2 and end a six-match winless run in the English Premier League on Saturday. Watford led 3-0 after 68 minutes after Gerard Deulofeu’s solo strike and curling efforts from Jose Holebas and Domingos Quina.
But Cardiff was grateful for goalkeeper Neil Etheridge and refused to submit, scoring twice in three minutes to set up a nervous finale.
Junior Hoilett struck from 25 yards after 80 minutes and Bobby Reid scrambled in a second, but Watford held on for its first win since late October. Cardiff has one point from its last 10 Premier League away games.
WOLVES 2-0 BOURNEMOUTH
An early goal from Raul Jimenez and a late strike by substitute Ivan Cavaleiro guided Wolverhampton to a 2-0 victory over Bournemouth in the English Premier League on Saturday.
Following wins against Chelsea and Newcastle in the past 10 days, Wolverhampton has recorded three consecutive victories in the top division for the first time since March 1980.
Nuno Espirito Santo’s promoted side is up to seventh in the standings, while Bournemouth remained in mid-table after slumping to a sixth loss in seven league games.
Wolves down trying Cherries1:27
Wolverhampton went ahead after 12 minutes when visiting defender Charlie Daniels gave the ball away to Diogo Jota. He advanced towards goal and dragged a shot into the path of Jimenez, who tapped the ball home from six meters. Junior Stanislas struck the crossbar for Bournemouth and Rui Patricio saved well from Jefferson Lerma before Wolverhampton sealed victory in injury time when Costa’s throughball put Cavaleiro one-on-one with the goalkeeper and he beat Asmir Begovic.
FULHAM 0-2 WEST HAM
Fans walk as Fulham fail1:27
West Ham’s fourth straight win moved Manuel Pellegrini’s side into ninth and inflicted more pain on bottom club Fulham as Robert Snodgrass and Michail Antonio struck in the opening half hour for a 2-0 victory at Craven Cottage.