Ghana midfielder Jeffery Schlupp scored on his first start since October as Crystal Palace stunned champions Manchester City at the Etihad Stadium.
Schlupp returned to the starting eleven for the first time since picking up an injury in October and scored the equalizer that started a renaissance for the London club.
Andros Townsend's powerful long-range drive flew into the top corner to give the visitors the lead.
Palace captain Luka Milivojevic made it 3-1 from the penalty spot after Kyle Walker's foul on Max Meyer, before substitute Kevin de Bruyne's late consolation.
This was the Eagles' first win at City since 1990 and lifted them six points clear of the relegation zone.
The Blues, who were 11 points clear at the top last Christmas, are second in the table, and host leaders Liverpool on 3 January.