Match ends, Cardiff City 0, Queens Park Rangers 1.
Queens Park Rangers eased their relegation worries with an attritional win at Cardiff City to intensify the pressure on Bluebirds manager Neil Harris.
Torrential rain and a paucity of scoring opportunities made for a goalless first half to forget.
After the interval, QPR's Charlie Austin had a goal disallowed before Chris Willock made the breakthrough in the 70th minute as he fired into the bottom corner.
A fine save by Alex Smithies denied Macauley Bonne a second for the visitors, who were indebted to goalkeeper Seny Dieng for preserving their lead with superb stops from Leandro Bacuna and Kieffer Moore.
Victory moves QPR seven points clear of the relegation zone but, for Cardiff, a sixth consecutive defeat in all competitions leaves last season's play-off semi-finalists 13 points adrift of the top six.
Harris' position was already under scrutiny and, after a fifth straight loss in the Championship, his future looks increasingly uncertain.
The former Millwall boss had been without captain Sean Morrison and top scorer Moore for much of Cardiff's recent wretched run of form, and he might have hoped their returns would spark an upturn in fortunes for his side.
Harris was able to welcome both back into his starting line-up on this occasion, along with two new signings, right-back Perry Ng and striker Max Watters, in a new-look 4-4-2 with a midfield diamond.
But Cardiff's players struggled adapt to the change of formation, a lack of width contributing to the isolation of Watters and Moore up front.
That helped QPR to settle and shade the opening exchanges, their own strike partnership of Austin and Lyndon Dykes both sending early efforts over the bar.
After a slow start, Cardiff had the best chance of the first half as Ng's powerful 20-yard shot was superbly saved by Dieng.
Apart from that effort, however, Cardiff seldom looked like scoring in a performance desperately lacking creativity or even a clear plan of attack.
QPR at least offered some threat, with Ilias Chair looking dangerous and setting Austin up for a close-range finish which was disallowed for a high boot.
Mark Warburton's side took the lead when Willock composed himself inside the penalty area before shooting low past Smithies' despairing dive.
If the Cardiff keeper might have been disappointed with that effort, he made amends with sharp reflexes to parry Bonne's header.
Smithies, however, was upstaged by Dieng, who first tipped over Bacuna's free-kick before getting down to save Moore's header.
Those were two crucial interventions to thwart Cardiff, whose efforts were too late and too blunt to deny QPR a precious win in their efforts to steer clear a relegation battle.
Cardiff manager Neil Harris:
"I'm gutted. It was a typical Championship game and scrappy at times.
"There were not a huge amount of chances and I'm really disappointed we couldn't find that killer moment in both boxes.
"We've lost five league games in a row and it's hugely disappointing.
"It's never happened to me before and the players are low on confidence after that."
QPR manager Mark Warburton:
"I'm really, really pleased. It's a tough place to come. They're a good team and are very good at what they do. We knew they'd had a rough run of late.
"We knew we had to meet the challenge and the longer the game went on we knew we had a good chance of the three points.
"To come here against a team like this means of course we have to keep building.
"In this division any run of form means you can move up the table pretty quickly."
- 38NgSubstituted forGlatzelat 76'minutes
- 6VaulksSubstituted forOjoat 76'minutes
- 23WilsonSubstituted forMurphyat 85'minutes
- 19WattersSubstituted forM Harrisat 55'minutes
- 29M Harris
- 20CameronBooked at 48mins
- 6BarbetBooked at 36mins
- 10ChairBooked at 89mins
- 21WillockSubstituted forKakayat 83'minutes
- 45AustinSubstituted forBonneat 70'minutes
- Darren Bond
- Shots on Target
Second Half ends, Cardiff City 0, Queens Park Rangers 1.
Robert Dickie (Queens Park Rangers) wins a free kick in the defensive half.
Foul by Robert Glatzel (Cardiff City).
Attempt missed. Todd Kane (Queens Park Rangers) left footed shot from outside the box is high and wide to the left. Assisted by Osman Kakay.
Ilias Chair (Queens Park Rangers) is shown the yellow card.
Foul by Robert Glatzel (Cardiff City).
Todd Kane (Queens Park Rangers) wins a free kick in the attacking half.
Attempt missed. Dominic Ball (Queens Park Rangers) right footed shot from outside the box misses to the left. Assisted by Niko Hämäläinen.
Corner, Cardiff City. Conceded by Osman Kakay.
Attempt saved. Kieffer Moore (Cardiff City) header from the left side of the six yard box is saved in the bottom left corner. Assisted by Curtis Nelson with a cross.
Substitution, Cardiff City. Josh Murphy replaces Harry Wilson.
Joe Bennett (Cardiff City) wins a free kick in the defensive half.
Foul by Ilias Chair (Queens Park Rangers).
Corner, Cardiff City. Conceded by Seny Timothy Dieng.
Attempt saved. Leandro Bacuna (Cardiff City) right footed shot from outside the box is saved in the top right corner.
Substitution, Queens Park Rangers. Osman Kakay replaces Chris Willock.
Kieffer Moore (Cardiff City) wins a free kick in the attacking half.
Foul by Geoff Cameron (Queens Park Rangers).
Robert Glatzel (Cardiff City) wins a free kick in the attacking half.