Town closed the gap on the Play-Offs to two points with a dominant display at Loftus Road, lit up by brilliant second-half goals from Pablo Counago and Jon Walters.
Counago put Blues ahead on the hour with a terrific individual goal and Walters put Jim Magilton's side in total control soon after with an equally good finish midway through the half.
Rangers had taken a third minute lead through Samuel Di Carmine, who converted Wayne Routledge's cross but Blues were on level terms on 13 minutes, Jon Stead diverting the ball home for his 10th goal of the season.
Gareth McAuley passed a fitness test on his damaged calf, with Town making one change from the team that beat Nottingham Forest in midweek, hamstring victim Danny Haynes making way for David Norris.
England boss Fabio Capello joined his fellow Italian Flavio Briatore in the directors' box as the game got underway in front of the Sky cameras and Town could have been ahead before Rangers' early goal, Stead failing to control Tommy Miller's hooked pass when clear.
It was the home side who struck though on three minutes, Routledge getting away from Ben Thatcher too easily and his cross was met by Di Carmine at the near post, leaving Richard Wright with no chance.
Kaspars Gorkss headed well wide from another Routledge cross before Town levelled, Stead forcing the ball in after McAuley had won a header and Norris put the ball in the box via Counago.
Norris tested Camp with a low shot then Counago went close to putting Blues ahead with a header from Luciano Civelli's corner that went over the bar.
Thatcher sent the ball out of the ground from 30 yards after more Town pressure, Civelli's cross almost finding Counago at the far post.
Blues should have gone ahead nine minutes before the break, Gavin Mahon's header was latched on to by Counago who showed great awareness to set up Stead but the striker fired wide from the edge of the box with Camp beaten.
Quinn fired across goal inside the first minute of the second-half, Rangers responding with Routledge's cross hacked clear by Alex Bruce.
Town continued to look the better side and Counago played in the overlapping David Wright and almost got on the end of the cross, Civelli denied when he latched on to the loose ball.
Rangers made a first change on 54 minutes, Heidar Helguson on for Di Carmine, Blues then following with Jon Walters replacing Civelli on the hour.
Seconds later Blues were ahead and in sensational style, Counago taking the ball off Mahon and wriggling away from three defenders before curling a left footed beauty past Camp.
The Spaniard almost added a second, his header deflecting off Gorkss for a corner. Rangers making a second change with Dexter Blackstock on for Damien Delaney.
Rangers had a penalty appeal turned down when Routledge's cross hit Norris' arm but with no intent, Kevin Lisbie introduced for Stead on 68 minutes.
Town's second goal was equalled by the third, a sublime pass by Quinn and an equally brilliant control and finish by Walters putting Blues in control.
Liam Miller was replaced by Angelo Balanta for the last 15 minutes, the home fans clearly not happy with the decision, Mahon the obvious target of their frustration.
Wright held firm from Mikele Leigertwood's long range effort, Thatcher then doing well to shield Routledge away from danger.
Owen Garvan was given the last 10 minutes, Counago making way. Thatcher then picking up the first and only booking of the game for kicking the ball away at a free-kick.
Rangers claimed a penalty when Routledge went down under a challenge from McAuley but the Town skipper had timed it to perfection, Bruce then standing strong - as he had done all game - to head clear from Routledge's cross as Blackstock threatened.
The win ends Town's miserable run in front of the Sky cameras this season, ends Rangers' 10 match unbeaten run and extends Town's run to just one defeat in nine games, with seven victories now on the road and the Play-Offs within reach.
QPR: Camp, Connolly, Gorkss, Hall, Delaney (Blackstock 64), Routledge, Mahon, Miller (Balanta 73), Leigertwood, Cook, Di Carmine (Helguson 54). Subs not used: Stewart, Alberti.
Town: R.Wright, D.Wright, Bruce, McAuley, Thatcher, Norris, Quinn, Miller, Civelli (Walters 64), Stead (Lisbie 68), Counago (Garvan 81). Subs not used: Supple, Balkestein. Booked: Thatcher.
Att: 13, 914




















