A superb volley by Andros Townsend was the pick of the goals as Crystal Palace shocked Manchester City at Etihad Stadium.
The hosts dominated early on and Ilkay Gundogan put them ahead on 27 minutes with a header from Fabian Delph’s delivery.
But Jeffrey Schlupp soon equalised and Townsend then put Palace ahead with a stunning left-footed volley from outside the penalty area.
Luka Milivojevic added a third from the penalty spot six minutes after half-time, following a foul by Kyle Walker on Max Meyer.
Leroy Sane struck a post as City pressured and Kevin de Bruyne pulled a goal back in the 85th minute with a cross that looped over everyone and into the far corner.
But the Eagles hung on and climb one place to 14th, on 18 points. Manchester City stay second, behind leaders Liverpool.