Sergio Aguero scored twice to complete a stunning turnaround after Palace spent much of the game in front, but the Eagles weren’t done yet.
With time running out, Wilfried Zaha’s cross was deflected in by Fernandinho to leave the champions 13 points behind Liverpool having played two games more.
There was also heartbreak for Chelsea, who suffered a stoppage-time defeat at Newcastle in the evening kick-off.
Isaac Hayden got on the end of a cross from the left to head past Kepa Arrizabalaga to give the Magpies a surprise win in an otherwise uneventful match.
Click Here: nrl league jerseys
This gives the Blues’ nearest rivals to finish fourth, Manchester United, the chance to reduce the gap on them. The Red Devils face runaway leaders Liverpool at Anfield on Sunday.
Wolves staged a dramatic fightback to come from two goals down and beat Southampton 3-2 at St Mary’s.
Saints looked on course to extend their remarkable run of results when Jan Bednarek and Shane Long put them ahead in the first-half.
But Pedro Neto pulled one back quickly after the break, before Raul Jimenez’s double kept Wolves’ hopes of a top-four finish well and truly alive.
The day’s early kick-off saw Paulo Gazzaniga came to Tottenham’s rescue and Watford were saved by a milimetre during the 0-0 draw at Vicarage Road.
At the bottom of the table, both teams finished with ten men as Norwich piled more misery on Bournemouth in their relegation six-pointer by beating the Cherries 1-0.
Steve Cook was sent off for a very deliberate handball before Teemu Pukki converted from the spot – and the Canaries lost Ben Godfrey with 14 minutes to go.
Meanwhile, Jack Grealish rescued a vital point for Aston Villa in their 1-1 draw at Brighton to pull them within one point of safety and West Ham played out a draw at home to Everton with hundreds of Hammers fans protesting outside the London Stadium against the club’s current owners before the game.