Manchester City have thrown away a one-goal lead to lose 3-2 to Crystal Palace, leaving them four points off Premier League leaders Liverpool at Christmas.
The Citizens had not previously dropped a single point in their nine home games this season, but Palace stunned the champions with an impressive turnaround.
Jeffrey Schlupp cancelled out an early opener from Ilkay Gundogan and Andros Townsend then put the Eagles in front through a sensational long-range volley after City failed to clear their lines, before Luka Milivojevic converted from the spot to give his side some breathing space.
Substitute Kevin De Bruyne set up a tense finale with his fluked finish, but Pep Guardiola’s men left themselves with too much to do and ceded further ground in the title race.
The early signs suggested it would be another comfortable afternoon for City, who had won 10 of their last 12 Premier League matches against Palace overall and 10 in a row on home soil in all competitions ahead of this latest tussle.
Ilkay Gundogan ghosted in at the far post, profiting from some sloppy marking from Patrick van Aanholt, to head stand-in skipper Fabian Delph’s diagonal delivery past Vicente Guaita.
Delph had earlier had a long-range drive tipped over by Guaita and both Raheem Sterling and Bernardo Silvaalso came close to netting, but a dominant City were left stunned when Palace netted twice in the space of two minutes and 42 seconds.
After being given the chance to get a shot away by Kyle Walker, returning winger Jeffrey Schlupp drilled the ball across Ederson and into the far corner.
Conceding for the eighth match running may have left City’s players rattled, but worse was to come as Andros Townsend scored a real contender for goal of the season – finding the back of the net from all of 35 yards with his volley – to put his side in front.
City, who had not dropped points all season after taking the lead in a match, took time to regain any momentum after that second setback of the match.
Pep Guardiola turned to Sergio Aguero five minutes into the second half and, within seconds of the fit-again striker’s introduction, Aymeric Laporte powered a header wide from a corner.
The game’s pivotal fourth goal would go the way of the visitors, though, as Walker tripped Max Meyer as the German was about to get on the end of a loose ball after Townsend’s header hit the inside of the post.
Luka Milivojevic stepped up from the spot and converted to Ederson’s left, all but ending City’s run of 36 matches without defeat in the traditional Saturday 3pm slot in the process.
Despite also chucking on Kevin De Bruyne and Riyad Mahrez for the final half an hour, the best City could manage over the next 20 minutes was a a long-range free kick from Sane that git the outside of the post.
De Bruyne did pull one back for the champions five minutes from time, though, picking out the top corner from his intended cross that caught out Guaita.