Chelsea suffered a blow to their Barclays Premier League title challenge as Crystal Palace boosted their survival chances with a stunning victory over Jose Mourinho's men at Selhurst Park.
Chelsea entered the weekend as leaders, having played more games than their title rivals Manchester City and Liverpool, and with an unbeaten record in London derbies this term.
The Blues beat Arsenal 6-0 last weekend for a sixth capital success of the season, but in their 10th London derby a John Terry own goal saw Palace claim a 1-0 win for a first league victory over Chelsea in nearly 24 years.
It was the Blues' second successive away loss following the controversial defeat at Aston Villa, which left Mourinho questioning referee Chris Foy's performance.
Only Palace could have cause to complain at Lee Mason's officiating, as twice in the space of two first-half minutes the referee rejected penalty claims when Gary Cahill challenged Cameron Jerome and then Yannick Bolasie.
Both might have been given in other circumstances, but Palace, who were organised, resilient and dangerous on the counter-attack, put the incidents behind them to earn victory.
Tony Pulis' men had chances before and after Terry rose above Joe Ledley to divert Joel Ward's cross into his own net early in the second half.
Bolasie - and Andre Schurrle at the other end - were unable to convert menacing crosses, while Jerome hit a post.
Julian Speroni twice denied Eden Hazard, the second a stunning save when the Belgium forward was through one-on-one, as Palace ended a five-match winless streak with a much-needed victory.
Mourinho had cause to speak to a ball-boy in stoppage time after feeling the ball was being returned slowly as his side slipped to defeat ahead of Wednesday's Champions League quarter-final first leg at Paris St Germain.
The ball-boy incident showed Mourinho's frustrations as his Chelsea side were second best throughout in front of a raucous Eagles support.
Bolasie and Jason Puncheon made life difficult for Branislav Ivanovic and Cesar Azpilicueta, whose fine cross might have resulted in the opener.
The Spain full-back made an overlapping run and drilled a low cross into the six-yard box, but a fine Ward interception saw Schurrle beaten to the ball.
A goal kick followed as a first-half decision went Palace's way.
Chelsea struggled to unlock the Palace defence and repeatedly looked to Fernando Torres early, only for the hosts to crowd out the striker.
Bolasie dragged a shot wide before missing a glorious opportunity after neat interplay on the right by Adrian Mariappa and Puncheon.
Palace had two legitimate penalty claims in quick succession denied by Mason.
Mariappa pulled the ball back towards Jerome, who was challenged from behind by Cahill, who then showed an injection of pace to deny Bolasie a shooting chance, taking man and ball in another challenge which saw Palace pleading for a spot-kick.
The Palace onslaught continued as Terry brought down Ledley cynically, while also handling the ball, to concede a free-kick and receive a yellow card, but Mile Jedinak's shot was comfortably saved by Petr Cech.
Chelsea, in need of invention, replaced David Luiz with Oscar at half-time, but it was Palace who resumed on the attack and, after Jerome was unable to direct a header from a Bolasie cross on goal, the hosts scored.
The overlapping Ward crossed from the Palace left and Terry climbed above Ledley, only to head into his own net.
Hazard tried to spark Chelsea, as he has so often this season, and made space to shoot from the edge of the area through a crowd of bodies, but Speroni turned the effort around the post.
Mohamed Salah replaced Frank Lampard as Mourinho sought a further injection of creativity, but it was Palace who went close again, Puncheon firing narrowly wide across goal after Jerome's direct run.
Terry, whose lack of pace was being tested on the counter-attack, headed an Oscar free-kick over at the other end.
Mourinho turned to Demba Ba for the final 20 minutes as Chelsea laid siege on the hosts' goal.
Hazard found himself through one-on-one, but Speroni pulled off a miraculous save to deny the Belgium forward. It was one of Chelsea's few genuine chances.
Chelsea's forward focus left the defence further exposed and Palace's pace again troubled the visitors, with Jerome going through to beat Cech with a shot which hit the post.
Ledley shot wide and Puncheon had an effort saved by Cech, who then had to tip substitute Stuart O'Keefe's drive over.
A poor O'Keefe back-pass presented Torres with an opportunity, but the striker could only lob the ball over as Chelsea slipped to a fifth loss of the season and Pulis danced down the touchline in celebration of a potentially crucial victory.