Rumarn Burrell scored for the second time in five days as QPR held 10-man Swansea at bay to win 1-0 and climb to eighth in the Championship table.
Burrell – who was a scorer in his team’s 2-1 weekend defeat at Millwall – grabbed the only goal of the game in the 18th minute.
Swansea had teenage Brighton loanee Malick Yalcouye shown a straight red hard in the 34th minute after he appeared to clash heads with QPR defender Steve Cook.
Yet Swans substitute Zan Vipotnik might have earned the 10 men a point in added time but failed to turn in a cross from two yards out.
It is just one defeat in eight games for QPR, but Swansea – who drop to 16th in the table – have not won at home since August.
Swansea had already received a warning of QPR’s ability to hit the hosts on the counter-attack, even before the away side went ahead.
Burrell had found space behind’s Swansea’s defence and when the ball found its way to Nicolas Madsen, it needed a fine save by Lawrence Vigouroux to keep out the Danish defender’s effort.
Burrell then gave Rangers a deserved 18th-minute lead when he latched on to Isaac Hayden’s chipped cross to clip a volley past Vigouroux.
Swansea had failed to track Hayden’s run and basic errors elsewhere meant they carried few threats of their own in the early stages.
They were just starting to press with more cohesion around the half-hour mark when Yalcouye was shown a straight red card after a clash with Cook.
Seconds earlier, Yalcouye went down under a challenge from Hayden but appeals for a penalty were waved away.
Cook appeared angered by Yalcouye’s fall and the players squared up with foreheads pressed together. When Cook tumbled backwards, referee John Busby consulted his assistant before sending off Yalcouye and showing Cook a yellow card.
The friction remained, though, and soon Swansea striker Adam Idah was booked for a late challenge on goalkeeper Paul Nardi, before Swansea head coach Alan Sheehan was also cautioned for protests on the sideline.
QPR came under pressure from Swansea at the start of the second half.
A header from Marko Stamenic went over the crossbar before Nardi had to clear a teasing cross from Josh Tymon.
Swansea substitute Ronald had an effort blocked by Sam Field as QPR clung to their lead.
Rangers replacement Ilias Chair had a chance to make the game safe for his side in the 78th minute when he was sprung beyond Swansea’s defence, but was denied by Vigouroux.
Jimmy Dunne then came close to making it 2-0 when he ended a surging run by striking the post before Jonathan Varane put the rebound wide.
But Swansea still had a chance to snatch a point, only for Vipotnik to waste their best chance.
Subscribe or register today to discover more from DonegalLive.ie
Buy the e-paper of the Donegal Democrat, Donegal People's Press, Donegal Post and Inish Times here for instant access to Donegal's premier news titles.
Keep up with the latest news from Donegal with our daily newsletter featuring the most important stories of the day delivered to your inbox every evening at 5pm.