Watford's woeful home form plumbed new depths as Martin Rowlands, Damion Stewart and Akos Buzsaky fired lowly QPR to an amazing win at Vicarage Road.
The Hornets, who were nine points clear at the top of the Championship a couple of months ago, are now without a home win since October 20.
And Adrian Boothroyd's men self-destructed again in spectacular fashion from the moment they conceded an early penalty which Rowlands converted.
Stewart headed home his fourth goal of the season on the half-hour, and Rowlands doubled his tally to put Rangers 3-0 up before half-time.
Damien Francis struck after the break as the Hornets briefly threatened a second-half comeback, but substitute Buzsaky hit a fourth for the visitors before Danny Shittu's late goal.
Watford have now won just three of their last 12 games and are in danger of slipping off the pace.
For Rangers, the future looks bright after gaining another three points ahead of their anticipated spree in the January sales.
Boothroyd opted to drop top-scorer Marlon King to the bench, while Rangers chief Luigi De Canio left out Buzsaky in favour of 17-year-old Angelo Balanta.
De Canio sprung a further surprise by sticking with on-loan defender Bob Malcolm, despite the Scot being suspended by parent club Derby over a drink-drive charge.
Watford gifted Rangers a 13th-minute lead. Nathan Ellington had come close to putting the hosts ahead with an early header, but they went behind when Balanta's fine cross-field pass sent Dexter Blackstock charging towards goal, only to be felled by Jordan Stewart in the area.
Referee Chris Foy had no hesitation in pointing to the spot and Rowlands stepped up to blast the penalty past Hornets keeper Richard Lee.
The visitors struck again in the 29th minute after Blackstock's snap-shot had been palmed behind by Lee.
Stewart met Rowlands' corner with a firm header which flew past Lee and in off the underside of the crossbar.
With Watford's frustration mounting, Lloyd Doyley earned a bizarre booking when he appeared to deliberately handle the ball inside the centre-circle.
And the shellshocked hosts found themselves three down when Rowlands burst into the area and fired past the helpless Lee in the 40th minute.
Lee Williamson rattled the post as Watford staged something of a rally, but they trudged off to a chorus of boos at the interval.
The comeback looked set to begin in earnest, however, when Francis finished from close range after his initial header had been blocked on the line seven minutes into the second half.
Tommy Smith and Darius Henderson shot wide as Watford poured forward before Boothroyd threw on King.
The 10-goal striker was immediately in the thick of the action, firing narrowly over from the edge of the area.
But with Watford leaving gaps at the back, substitute Buzsaky stole in and rounded Lee before firing home an angled drive.
Rangers old boy Shittu poked in a late second for Watford but Boothroyd's jittery side were beaten.
Teams
Watford Lee, Doyley (O'Toole 79), DeMerit,Jackson (Shittu 46), Stewart, Smith, Williamson, Francis,McAnuff, Darius Henderson, Ellington (King 68).
Subs Not Used: Mariappa, Ainsworth.
Booked: Doyley, Smith.
Goals: Francis 52, Shittu 84.
QPR Camp, Barker, Rehman, Stewart, Malcolm, Bolder, Rowlands,Ainsworth (Vine 64), Balanta (Buzsaky 73), Nygaard (Walton 90),Blackstock.
Subs Not Used: Cole, Moore.
Booked: Nygaard, Barker.
Goals: Rowlands 13 pen, Stewart 29, Rowlands 40, Buzsaky 80.
Att: 18,698
Ref: Chris Foy (Merseyside).