Mikele Leigertwood fired QPR to their first victory in 10 matches as Swansea came unstuck at Loftus Road.
The midfielder struck with a header just before the half hour as Rangers won in front of their own fans for the first time since December 20.
Leigertwood's second goal of the season was also Rangers' first in five matches, form which has all but ended the wealthy west Londoners' hopes of a place in the play-offs.
The Swans are also dropping off the pace having won just one in six, and there was little on show from either side to suggest they can kick-start their fading promotion hopes over the run-in.
Rangers boss Paulo Sousa, rapidly earning a reputation as the Tinkerman of the Championship, made his customary four changes and handed a full debut to on-loan Tottenham youngster Adel Taarabt.
He was trumped by Swans counterpart Roberto Martinez, however, with the Spaniard making five changes and leaving top scorer Jason Scotland kicking his heels on the bench for 70 minutes.
Little wonder, then, that the opening stages were littered with misplaced passes - mostly from the home side and met with groans from around the ground.
Taarabt, who was being watched from the stands by Spurs manager Harry Redknapp, did at least show some neat early touches but it was the Swans who looked more likely to make the breakthrough.
Gorka Pintado's strong run into the box was thwarted by Kaspars Gorkss and Jordi Gomez twice shot straight at Rangers keeper Radek Cerny.
Rangers had, by contrast, created little until Leigertwood won a free-kick just inside the Swansea half in the 29th minute.
Jordi Lopez swung a deep cross into the area, where Leigertwood got in front of his marker and planted a fine header past Dorus De Vries.
Swansea almost hit back within 30 seconds of the restart when Rangers gave the ball away to Pintado, who burst into the area and thumped an angled shot which Cerny blocked at his near post.
Moments later, Italian striker Samuel Di Carmine had the ball in the net at the other end but an offside flag halted his celebrations.
Martinez threw on Scotland with 20 minutes to go but it was Rangers who came closest to a second, Taarabt hitting an extravagant curler which flew just wide and then teeing up Heidar Helguson, who blazed over the crossbar.
Teams
QPR Cerny, Gorkss, Ramage, Hall (Delaney 83), Connolly,Leigertwood, Lopez (Miller 87), Alberti, Taarabt, Ephraim,Di Carmine (Helguson 74).
Subs Not Used: Vine, German.
Booked: Leigertwood.
Goals: Leigertwood 30.
Swansea De Vries, Williams, Monk, Serran, Rangel, Pratley,Gomez (Dyer 62), Allen (Britton 87), Butler,Pintado (Scotland 69), Bauza.
Subs Not Used: Orlandi, Collins.
Booked: Pratley.
Att: 12,288
Ref: Graham Horwood (Bedfordshire).