Kevin De Bruyne brought up his century of goals for Manchester City by scoring twice in a 4-2 win at Crystal Palace that moved the champions level on points with Premier League leaders Liverpool.
City had fallen behind after just three minutes at Selhurst Park, but De Bruyne led the response by curling in a beauty to equalise.
Rico Lewis put the visitors in front early in the second half before De Bruyne teed up Erling Haaland to end his goal drought.
And the Belgian rounded off a stunning display by smashing in his 100th City goal.
Pep Guardiola’s decision to hand De Bruyne and Haaland the night off for Wednesday’s 4-1 win over Aston Villa paid dividends as his side remain on course to defend the treble they won last season.
Just three days ahead of City’s trip to Real Madrid in the Champions League quarter-finals, Guardiola took the chance to shuffle his pack again.
Phil Foden, the hat-trick hero against Villa, was dropped to the bench alongside Manuel Akanji, Bernardo Silva and Jeremy Doku.
On paper, City did not appear to be weakened as John Stones and Oscar Bobb came in with De Bruyne and Haaland.
But it was an error from the ring-rusty Stones that gave Palace the perfect start after just three minutes.
Stones was making his return after being injured on England duty last month, but an errant pass was pounced on by Adam Wharton, who released Jean-Philippe Mateta to fire in off the post.
The goal awoke City from their slumber with De Bruyne at the heart of most of their most threatening attacks.
Only a brilliant save by Dean Henderson denied Rodri a quick reply.
But the visitors were level within 10 minutes of falling behind as De Bruyne curled in a stunning strike into the top corner.
Haaland had failed to score in his previous five games for club and country and failed to take advantage of a brilliant De Bruyne through ball as Henderson saved a one-on-one.
Palace, though, could also have been back in front before the break when Jordan Ayew smashed off the bar after a rare Rodri error.
There was little doubt over the outcome once Lewis pounced on some slack Palace defending from Jack Grealish’s deflected cross to make it 2-1 on 47 minutes.
Grealish’s season has been repeatedly disrupted by injury but his return to fitness and form could be a vital component in City’s quest to retain the Premier League, Champions League and FA Cup.
He was also involved in his side’s third goal as Grealish picked out De Bruyne’s, whose cross was touched in by Haaland for a much-needed goal for the Norwegian.
Haaland now has 30 for the season in all competitions but had failed to find the net in 12 of his previous 17 games on his return from a foot injury that kept him out for two months.
Having curled one in on his right foot, De Bruyne then blasted in a piledriver with his left to make it 100 goals in 372 games since joining City in 2015.
At that point City seemed set to win by the four-goal margin they needed to go above Liverpool on goal difference.
But it was Palace who got the sixth and final goal of the game when Odsonne Edouard turned in Jeffrey Schlupp’s cross.
City move two points ahead of Arsenal, who can go top later on Saturday when they visit Brighton.