The Citizens had not previously dropped a single point in their nine home games this season, but Palace stunned the champions with an unlikely turnaround at the Etihad Stadium.

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 as they ceded further ground in the title race.

There was to be one final big chance for City to at least salvage a point, only for Gabriel Jesus to head over the bar from a glorious position once picked out by De Bruyne, meaning a second defeat in three league matches for the home side.