QPR snatched a stunning win over Chelsea at Stamford Bridge through a late Shaun Wright-Phillips strike.
The Premier League's bottom side shocked their in-form hosts when Wright-Phillips smashed home from the edge of the area after a corner.
Chelsea, chasing a fifth straight win, dominated throughout but could not break down QPR's packed defence.
Frank Lampard had a goal ruled out for offside and the Blues' best effort saw Julio Cesar deny Fernando Torres.
This was a far from vintage attacking display from Rafael Benitez's side, who put eight past Aston Villa in their last game on home turf.
QPR end long wait for derby win on the road
QPR's victory was their first in a Premier League London derby away from home since Les Ferdinand scored twice in a 3-1 win over Wimbledon in March 1995, with Ian Holloway getting Rangers' other goal that day.
It was also their first top-flight win at Stamford Bridge since March 1979, when Paul Goddard, Glenn Roeder and Martyn Busby scored in another 3-1 win. Both Rangers and Chelsea were relegated from the old First Division that season.
But what was looking like being a frustrating evening for the Blues turned into a disastrous one at the hands of one of their former players when Wright-Phillips delivered his sucker-punch, 12 minutes from time.
The former England winger did not sparkle on too many occasions in four years at Chelsea from 2005 to 2008, following his £21m move from Manchester City, and he has struggled to make too much of an impression with Rangers either.
Wright-Phillips' popularity around Loftus Road will soar after this goal, however. It came after he had been brought off the bench early on to replace the injured Junior Hoilett, and could prove invaluable to Harry Redknapp's side and their bid to stay up.
Things never looked straightforward for Chelsea, who may rue their decision to begin with Juan Mata and Eden Hazard on the bench after a defeat that deals a severe blow to their title hopes.
The Blues were lucky to keep 11 men on the pitch when Marko Marin marked his first league start by clattering into QPR midfielder Stephane Mbia with a wild lunge after just four minutes.
Fortunately for Marin, and for Chelsea, referee Lee Mason elected only to book the German international.
But things did not improve much for the home side, who rarely looked like breaking down a determined QPR backline in the first half.
Torres, who might soon face competition from Newcastle striker Demba Ba for his starting place, was starved of service as the visitors defended deep and in numbers.
Instead it was left to his team-mates to shoot from distance, and nothing summed up Chelsea's lethargic opening better than two horribly wayward efforts from defender Branislav Ivanovic.
QPR did not offer much at the other end but, with Adel Taarabt operating as their furthest man forward in a 4-5-1 formation, that was never their intention.
Instead they looked to soak up the home side's pressure, a tactic that worked so well that Cesar's first save came just before the break, when he stopped Oscar's deflected shot with an outstretched leg before Victor Moses fired over from the rebound.
Rangers had kept only one clean sheet in their last 26 top flight away games - and surrendered meekly against Liverpool three days ago - but they continued to keep Chelsea at bay in the second half.
Moses should have done better from a low Marin cross and Ivanovic headed over before Cesar kept out a Torres snap-shot after David Luiz's shot had been blocked.
Lampard thought he had drawn level with Kerry Dixon as Chelsea's second highest scorer when he did find the net from a corner, but his celebrations of what would have been his 193rd goal for the club were cut short by the linesman's flag.
By now, QPR had created a few half-chances too, but Wright-Phillips' goal still provided a twist in the tale that few had seen coming.
Taarabt teed him up on the edge of the area and he drilled a low strike past Ross Turnbull and into the bottom corner of the net.
QPR stay bottom, five points adrift of safety, but after three straight defeats, this win will give them renewed hope that survival is not beyond them.
Chelsea interim manager Rafael Benitez on his side's defeat, and his decision to rest several players:
"We were tired and weren't precise. We made a mistake and gave them their chance.
"I don't regret the changes because we can't carry on with the same players in every game.
"If you're playing a team at the bottom of the table at home, you have to trust your players and I trust them."
QPR boss Harry Redknapp on his players' performance:
"They worked their socks off and they got their rewards, we deserved it and it was a fantastic performance.
"They have set the standard tonight and to get out of this mess they have to do it every week."
- 22 Turnbull
- 02 Ivanovic
- 04 Luiz
- 24 Cahill
- 28 Azpilicueta
- 34 Bertrand
- 08 Lampard (Ramires - 79' )
- 11 Oscar
- 13 Moses (Mata - 75' )
- 21 Marin Booked (Hazard - 60' )
- 09 Torres
- 40 Hilario
- 03 Cole
- 19 Ferreira
- 07 Ramires
- 10 Mata
- 17 Hazard
- 35 Piazon
Queens Park Rangers
- 33 Julio Cesar
- 06 Hill Booked
- 15 Onuoha
- 17 Nelsen
- 20 Fabio
- 04 Derry
- 10 Taarabt (Dyer - 90' )
- 14 Granero (Park Ji-sung - 90' )
- 40 M'bia
- 12 Mackie
- 23 Hoilett (Wright-Phillips - 15' )
- 01 Green
- 05 Ferdinand
- 07 Park Ji-sung
- 11 Wright-Phillips
- 18 Dyer
- 32 Faurlin
- 09 Cisse
Live Text Commentary
Full Time The game is over, as the referee blows his whistle.90:00 +2:27
Effort on goal by David Luiz from just outside the penalty area goes harmlessly over the target.90:00 +1:36 Substitution
Substitution Adel Taarabt leaves the field to be replaced by Kieron Dyer.90:00 +0:30
David Luiz challenges Ji-Sung Park unfairly and gives away a free kick. Ryan Nelsen takes the direct free kick.89:26 Substitution
Substitution Ji-Sung Park replaces Esteban Granero.89:11
Branislav Ivanovic has a header from close range and clears the crossbar.88:41
Corner from the right by-line taken by Juan Mata, clearance by Nedum Onuoha.87:42
Free kick awarded for a foul by Esteban Granero on Juan Mata. Juan Mata takes the direct free kick.86:54
Foul by Nascimento Ramires on Adel Taarabt, free kick awarded. Esteban Granero takes the free kick.86:16
The ball is delivered by Emboaba Oscar.84:58
Direct effort from the free kick comes in from David Luiz.84:58 Booking
Booking Clint Hill receives a yellow card.84:34
Free kick awarded for an unfair challenge on Branislav Ivanovic by Clint Hill.84:15
Cesar Azpilicueta delivers the ball, Ryan Nelsen manages to make a clearance.82:56
Inswinging corner taken by Juan Mata, Soares Julio Cesar fouled by Branislav Ivanovic, the ref awards a free kick. Direct free kick taken by Soares Julio Cesar.82:44
Nascimento Ramires takes a shot. Blocked by Fabio Da Silva.82:07
Adel Taarabt fouled by Nascimento Ramires, the ref awards a free kick. Shaun Derry restarts play with the free kick.81:30
Corner taken short by David Luiz.81:10
Ryan Bertrand takes a shot. Blocked by Ryan Nelsen.80:14
The ball is sent over by Emboaba Oscar.
Substitution Nascimento Ramires on for Frank Lampard.77:36
The assist for the goal came from Adel Taarabt.77:36 Goal scored
Goal! - Shaun Wright-Phillips - Chelsea 0 - 1 QPR Shaun Wright-Phillips grabs a goal from outside the penalty area to the bottom left corner of the goal. Chelsea 0-1 QPR.77:02
Corner from the left by-line taken by Esteban Granero, clearance by Ryan Bertrand.76:14
David Luiz is adjudged to have handled the ball. Adel Taarabt takes the free kick.74:07 Substitution
Substitution Juan Mata is brought on as a substitute for Victor Moses.73:07
Emboaba Oscar sends in a cross, save by Soares Julio Cesar.69:40
Unfair challenge on Cesar Azpilicueta by Fabio Da Silva results in a free kick. Emboaba Oscar delivers the ball from the free kick right-footed from right wing, clearance by Fabio Da Silva.67:54
Free kick awarded for an unfair challenge on Cesar Azpilicueta by Shaun Wright-Phillips. The free kick is delivered right-footed by Eden Hazard from right wing.66:06
The referee blows for offside. Free kick taken by Soares Julio Cesar.65:39
Corner taken by Frank Lampard.65:16
Victor Moses takes a shot. Clint Hill gets a block in.64:19
Foul by Gary Cahill on Adel Taarabt, free kick awarded. Soares Julio Cesar takes the free kick.64:07
The ball is swung over by Emboaba Oscar, Nedum Onuoha manages to make a clearance.63:20
Shot by David Luiz from outside the box goes high over the target.62:34
Jamie Mackie is flagged offside by the assistant referee. Ryan Bertrand takes the indirect free kick.61:48
Free kick awarded for a foul by Gary Cahill on Adel Taarabt. Clint Hill takes the direct free kick.60:26
Corner taken right-footed by Esteban Granero, Shaun Derry takes a shot. Save by Ross Turnbull.59:03 Substitution
Substitution Eden Hazard comes on in place of Marko Marin.58:13
Shaun Wright-Phillips takes a shot. Cesar Azpilicueta gets a block in.57:23
Shot from 18 yards by Esteban Granero. Save by Ross Turnbull.55:55
Fabio Da Silva is caught offside. Ross Turnbull restarts play with the free kick.54:20
Free kick awarded for a foul by Fernando Torres on Ryan Nelsen. Soares Julio Cesar restarts play with the free kick.53:42
Stephane Mbia gives away a free kick for an unfair challenge on David Luiz. Cesar Azpilicueta restarts play with the free kick.53:06
Marko Marin gives away a free kick for an unfair challenge on Shaun Wright-Phillips. Soares Julio Cesar takes the direct free kick.52:53
Outswinging corner taken from the right by-line by Frank Lampard.52:44
Fernando Torres takes a shot. Save made by Soares Julio Cesar.52:42
David Luiz takes a shot. Blocked by Ryan Nelsen.51:17
Outswinging corner taken right-footed by Marko Marin, Branislav Ivanovic produces a header from deep inside the six-yard box that clears the bar.50:42
Marko Marin takes the outswinging corner, Nedum Onuoha makes a clearance.50:33
Marko Marin decides to take the corner short.50:17
Frank Lampard takes a shot. Clint Hill gets a block in.50:03
Fabio Da Silva challenges Victor Moses unfairly and gives away a free kick. Free kick taken by Cesar Azpilicueta.48:01
The ball is swung over by Marko Marin, Victor Moses produces a right-footed shot from close in which goes wide of the right-hand upright.47:30
Inswinging corner taken by Marko Marin from the left by-line played to the near post, save by Soares Julio Cesar.46:33
Inswinging corner taken right-footed by Marko Marin played to the near post, save by Soares Julio Cesar.45:01
The referee gets the second half underway.45:00 +2:10 Half time
Half Time The referee calls an end to the first half.45:00 +1:38
Fernando Torres gives away a free kick for an unfair challenge on Nedum Onuoha. Direct free kick taken by Soares Julio Cesar.45:00 +0:35
Shot from outside the box by Frank Lampard misses to the left of the goal.44:45
Unfair challenge on Emboaba Oscar by Shaun Derry results in a free kick. Free kick taken by David Luiz.43:08
Victor Moses produces a left-footed shot from just outside the area that goes harmlessly over the target.42:54
Emboaba Oscar takes a shot. Save by Soares Julio Cesar.41:35
Effort from a long way out by Branislav Ivanovic goes wide right of the goal.38:29
Fernando Torres takes a shot. Save by Soares Julio Cesar.37:05
Branislav Ivanovic takes a shot from a long way out which goes wide of the right-hand upright.36:22
Unfair challenge on Marko Marin by Shaun Derry results in a free kick. Frank Lampard takes the free kick.35:40
Marko Marin produces a cross. Free kick awarded for a foul by Victor Moses on Fabio Da Silva. Soares Julio Cesar takes the direct free kick.35:01
Inswinging corner taken right-footed by Marko Marin, clearance made by Ryan Nelsen.34:45
Short corner taken by Marko Marin.34:33
The ball is sent over by Cesar Azpilicueta, Fabio Da Silva gets a block in.33:49
The referee blows for offside. Ross Turnbull restarts play with the free kick.33:12
Shaun Wright-Phillips produces a right-footed shot from just outside the box that goes wide left of the goal.31:34
Outswinging corner taken by Marko Marin from the right by-line, clearance made by Ryan Nelsen.31:09
Emboaba Oscar produces a curled right-footed shot from 18 yards. Clint Hill gets a block in.27:21
The ball is swung over by Branislav Ivanovic.26:27
Free kick awarded for a foul by Branislav Ivanovic on Adel Taarabt. Esteban Granero takes the free kick.25:22
Shot from a long way out by Shaun Wright-Phillips goes wide of the left-hand post.24:00
Marko Marin produces a right-footed shot from outside the penalty box and misses right.22:57
Marko Marin takes a outswinging corner.22:44
The ball is crossed by Victor Moses, blocked by Clint Hill.21:36
The ball is delivered by Ryan Bertrand, clearance made by Ryan Nelsen.20:12
Emboaba Oscar takes a shot and went wide left of the goal.18:45
Adel Taarabt takes a shot. Comfortable save by Ross Turnbull.14:19 Substitution
Substitution Shaun Wright-Phillips joins the action as a substitute, replacing David Hoilett.13:03
Centre by Victor Moses, Effort on goal by David Luiz from just inside the area clears the crossbar.12:08
Adel Taarabt takes a weak shot and missed to the right of the goal.11:34
Cesar Azpilicueta delivers the ball, clearance by Nedum Onuoha.10:56
The assistant referee flags for offside against Jamie Mackie. Branislav Ivanovic takes the free kick.6:08
Marko Marin takes a shot. Blocked by Clint Hill.3:31
Free kick taken by Soares Julio Cesar.3:31 Booking
Booking Marko Marin goes into the book.3:05
Marko Marin challenges Stephane Mbia unfairly and gives away a free kick.0:00
The referee gets the game started.
Live data and text provided by our data suppliers