Crystal Palace delivered the final nail in the coffin of Man City’s title bid by snatching a 2-2 draw at the Etihad in the dying moments.
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.
Elsewhere, 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.
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 Arsenal were held at home to Sheffield United after John Fleck cancelled out Gabriel Martinelli’s opener.
Earlier in the day, Paulo Gazzaniga came to Tottenham’s rescue and Watford were saved by a milimetre during the 0-0 draw at Vicarage Road.