Manchester City stretched their advantage at the top of the Premier League table to 10 points, as they made it 17 wins in a row with victory at Goodison Park.
Phil Foden broke the deadlock in a tightly contested first half, before Richarlison levelled things up before half-time.
City turned on the style in the second half though, and wrapped up the three points through strikes from Riyad Mahrez and Bernardo Silva to leave the league leaders in prime position to bring the Premier League title back to East Manchester.
Story of the Match
The big news pre-match was the return of Everton's number one Jordan Pickford, with the England international brought back into the starting XI after missing the last four in all competitions.
And it didn't take long for Pickford to get his gloves dirty, Joao Cancelo forcing the Everton stopper into a smart save as he tried his luck from distance with little over a minute on the clock.
Ruben Dias returned to the City side having missed the weekend win over Spurs with illness, partnering Aymeric Laporte at the heart of the Citizens defence as John Stones was handed a rest.
It's a partnership that many saw as impenetrable, but after a sloppy showing in defeat to Spurs back in November, it's one that has been rarely seen for Pep's men so far this campaign.
The issues at the heart of the defence came for the hosts though, with Yerry Mina forced off with a muscle injury after just 17 minutes. He was replaced by Seamus Coleman, with Ben Godfrey switching to the centre back role.
It was a first-half devoid of any real chances, but it was the visitors who made the breakthrough just after the half-hour mark.
It was Foden - the Merseyside hero at Anfield two weeks ago - who opened the scoring for Manchester City, albeit it via the aid of a huge deflection off the unfortunate Coleman, which left Pickford with absolutely no chance.
The goal seemed to wake the hosts, who had offered very little in terms of attacking threat up until that point, and they got a huge slice of luck of their own to level the scoring soon after.
Richarlison - starting through the middle in the absence of the injured Dominic Calvert Lewin - was in the right place at the right time as Luca Digne's volleyed effort cannoned back off the post. The Brazilian was Johnny-on-the-spot to unwittingly turn the ball home on the goalline.
The two sides went blow for blow in the latter stages of the first 45, but there was to be no more goalmouth action, as the two sides entered the sheds level.
The league leaders came out looking like they had a point to prove in the second half and created the first chance of the second period after just five minutes.
The ball found it's way to the feet of Bernardo some eight yards out, but the Manchester City man failed to capitalise, firing straight at Pickford as the chance went begging.
City looked a stark contrast of their passive self in the first half, with Gabriel Jesus spurning a great chance just shy of the hour mark.
The Brazilian - who has scored more goals against Everton than any other Premier League side - was played through in down the left flank after some fine work by Kyle Walker, but he blazed a near-post effort high and wide of Pickford's goal.
The visitors had set up camp in the hosts half and made the breakthrough that their dominance warranted after 63 minutes, and there was no luck involved with this one.
A trademark Mahrez finish gave the hosts their lead back, as the Algerian fired a first time, curling effort past the outstretched dive of Pickford and into the far corner.
Everton threw on Joshua King and James Rodriguez in search of a way back into the game, but it was Manchester City who put the game to bed with ten minutes left to play, and Pickford won't want to see it again!
Some great linkup play between Mahrez and Jesus helped to open up the space for Bernardo, who jinked left and right before finding the bottom corner from the edge of the box. Pickford got a hand to it, but it wasn't enough to prevent the ball from finding the back of the net.
Manchester City brought Kevin De Bruyne on for Raheem Sterling with 10 minutes to go for his first appearance since picking up an injury against Aston Villa in January.
The cameo provided De Bruyne with some much-needed game time ahead of an important couple of weeks for the Citizens, who restart their European campaign when they face Borussia Monchengladbach next week.
The defeat leaves Everton without a win in their last three league outings, as Carlo Ancelotti's side find themselves five points adrift of the Champions League places.
Strength in depth the key for runaway league leaders
Last week it was Ilkay Gundogan, the week before Phil Foden and tonight it was the turn of Riyad Mahrez.
In a squad littered with quality, it sometimes takes a big performance from a star man to pull your side through a tricky fixture.
And Manchester City has plenty of them.
The Algerian winger played a key role in all three of City's goals at Goodison Park, as he showed Pep and the City fans why he's still an integral member of this perilous outfit.
Goalkeeping dilemma continues
Jordan Pickford was brought back into the side for tonight's fixture, and yet again he failed to cover himself in glory.
He could do little about either of the first two goals, but he will be held culpable for the third, and rightfully so.
Robin Olsen failed to capitalise on his opportunity to lock down the starting role for Ancelotti's side, and so a dip into the transfer market could well be on the cards for the Toffees in the summer.