Manchester City's grip on the Barclays Premier League title was loosened further after a controversial Glenn Murray goal put Crystal Palace on the way to a 2-1 victory.
Murray fired Palace ahead in the first half, despite both he and Scott Dann appearing to be offside, and Jason Puncheon crashed in a superb second to deal what looks to be a fatal blow to City's already slim hopes of retaining their crown.
The fading champions pulled one back through Yaya Toure but are now nine points adrift of leaders Chelsea, having slipped to fourth place following wins for Arsenal and Manchester United over Easter.
So poor is their current form - three defeats in five matches - that City have suddenly found themselves as the team Liverpool and Tottenham will be eyeing up as they attempt to steal fourth spot and, unthinkably, deny them a Champions League place.
By contrast it was another big scalp and a memorable night for Palace, whose revival under manager Alan Pardew shows no sign of letting up.
The hosts gave City a warning that this would not be a routine assignment in the opening seconds when Martin Kelly whipped the ball in behind City's defence.
Puncheon slid in but could not get a touch and Wilfred Zaha, also at full stretch as he arrived at the far post, could only lift the ball over the top.
It was a big chance and the miss almost proved costly when Sergio Aguero fashioned City's first opportunity, racing onto Joe Hart's long clearance and rounding Julian Speroni.
With the angle too tight to shoot, Aguero squared the ball to David Silva but Palace keeper Speroni got back to deflect the shot over with his shoulder.
Aguero took matters into his own hands moments later, shifting the ball to make space on the edge of the area and beating Speroni with his shot, only to see it come back off the foot of the post.
With the pressure building a goal seemed inevitable, but when it came it went to Palace.
Joel Ward pumped the ball back into the danger area after City had cleared a corner, Joe Ledley flicked it on and Dann's shot was blocked by Hart only for Murray to tap in the rebound.
City furiously appealed for offside, claiming both Dann and Murray were beyond the last man, but the flag stayed down and skipper Vincent Kompany's lengthy protests to referee Michael Oliver proved in vain.
But if there were question marks about the first goal, there was nothing wrong with the second three minutes after the interval.
Murray was barged over 25 yards out and Puncheon stepped up to curl a stunning free-kick over the wall and beyond the despairing dive of Hart.
City's frustration grew when they had appeals for a penalty waved away after the ball appeared to strike Murray's hand in the area.
Toure's ferocious curler 12 minutes from the end halved the deficit but they could not find an equaliser, with the final whistle sparking wild celebrations in south London - and probably parts of west London as well.
ends
English Premier League Standings
POS | Team | GP | GD | PTS |
---|---|---|---|---|
1 | Manchester City | 32 | +44 | 73 |
2 | Arsenal | 32 | +49 | 71 |
3 | Liverpool | 32 | +41 | 71 |
4 | Aston Villa | 33 | +19 | 63 |
5 | Tottenham Hotspur | 32 | +16 | 60 |
6 | Newcastle United | 32 | +17 | 50 |
7 | Manchester United | 32 | -1 | 50 |
8 | West Ham United | 33 | -6 | 48 |
9 | Chelsea | 31 | +9 | 47 |
10 | Brighton & Hove Albion | 32 | +2 | 44 |
11 | Wolverhampton Wanderers | 32 | -5 | 43 |
12 | Fulham | 33 | -2 | 42 |
13 | AFC Bournemouth | 32 | -10 | 42 |
14 | Crystal Palace | 32 | -17 | 33 |
15 | Brentford | 33 | -11 | 32 |
16 | Everton | 32 | -16 | 27 |
17 | Nottingham Forest | 33 | -16 | 26 |
18 | Luton Town | 33 | -24 | 25 |
19 | Burnley | 33 | -35 | 20 |
20 | Sheffield United | 32 | -54 | 16 |
Premier League News
Transfer Talk: Arsenal will look to get Isak, Olise
Arsenal will be looking to sign both Alexander Isak and Michael Olise in the summer transfer window. Transfer Talk has the latest.
Ratcliffe's Man United reboot continues with Wilcox hiring
Manchester United have confirmed the appointment of Jason Wilcox as technical director after reaching an agreement with Southampton, who play in the Championship, where he had been working as the director of football.
Man City's Grealish reveals struggles with confidence, fitness
Jack Grealish has admitted he "wasn't playing with confidence" during his spell out of the Manchester City team earlier this season.
Does the Premier League need to give more rest days to Champions League teams?
Arsenal boss Mikel Arteta says his team was given less time off to prepare for their Champions League quarterfinal match with Bayern Munich compared to other European leagues.
Pochettino reveals full team meeting after Chelsea penalty feud
Chelsea manager Mauricio Pochettino held a meeting with his entire squad and staff to remind them of the importance of discipline, following a feud between his players over who would take a penalty against Everton on Monday.
Arteta wants Arsenal to be ready for any situation in title race
Arsenal manager Mikel Arteta said he was looking forwards not back after their hopes of winning a trophy this season were dented with a Premier League loss to Aston Villa and their Champions League exit to Bayern Munich.