Manchester City survived a testing encounter at Goodison Park as they came from behind to beat Everton 3-1 and climb back into the top four.
The newly-crowned Club World Cup winners recovered from going behind to former winger Jack Harrison’s first-half goal to score twice after the break through a beauty from Phil Foden and a Julian Alvarez penalty.
Late on, Bernardo Silva curled home into an empty net after the otherwise excellent Jordan Pickford had his kick charged down to leave Everton a point above the relegation zone.
It was only City’s second win in seven league matches, but was enough to bring second-placed Arsenal within their sights and Liverpool not much further away.
However, the loss of John Stones, making only his fifth Premier League start this season due to injury, and an eighth successive Premier League game without a clean sheet were less welcome.
With Liverpool and Arsenal drawing just before Christmas, City returned victorious from Saudi Arabia knowing winning their two games in hand would leave them just a couple of points behind Jurgen Klopp’s side at the summit.
Had it not been for some wayward shooting and, more significantly, Jordan Pickford, they would probably have been coasting towards the first of those wins before half-time.
The England number one’s most important intervention came in the 14th minute when he saved Matheus Nunes’ shot and then stuck out a foot to narrowly divert wide Alvarez’s rebound. He also later denied Jack Grealish.
And without Erling Haaland for a sixth successive game – the Norway international’s foot injury is also expected to keep him out of the weekend’s visit of Sheffield United – Pep Guardiola’s side started to look a bit toothless.
That has been a longer-term problem for Everton but scoring from your first shot on target always helps and when Rodri was pressured into an uncharacteristic loss of possession on the edge of his own area by Beto the home side pounced.
Dwight McNeil laid on his third assist in five games as Harrison sidefooted home from close range, with the former City winger almost scoring a spectacular second with Ederson at full stretch to tip over his swerving outside-of-the-left-foot effort.
City were more than happy to leave Beto, making his first start in six games but with two goals in his last five appearances, one-on-one at the back and that almost backfired when Pickford picked him out only for the striker’s clumsiness allowing Stones to recover and clear, injuring himself in the process.
Guardiola was furious with the assistant referee for not flagging for offside and his mood was not helped by the defender’s enforced departure just before half-time.
City needed just 19 minutes after the break to turn things around with Foden given too much space on the edge of the area from a corner to beat Pickford down by his left-hand post.
Silva extended the goalkeeper with a free-kick before Alvarez put them ahead when Nathan Ake’s shot hit Amadou Onana’s arm as he slid in to block.
Referee John Brooks awarded a corner before changing his mind and pointing to the spot, with Alvarez’s blast down the middle proving too powerful as it went underneath the diving Pickford’s legs.
When substitute Dominic Calvert-Lewin failed to turn home Harrison’s low cross from six yards, defeat was confirmed with Silva’s 20-yard effort into an unguarded net after collecting Alvarez’s block on the goalkeeper.