Match ends, Queens Park Rangers 1, Reading 3.
Reading earned a fifth win in seven league games as they dealt a setback to QPR's automatic promotion chances.
Daniel Williams nodded the visitors ahead only for ex-Royals striker Kevin Doyle to level from close range.
But an Alex Pearce header and fierce Garath McCleary strike within three minutes of each other gave play-off hopefuls Reading a two-goal cushion.
The visitors had Kaspars Gorkss dismissed for a lunge on Junior Hoilett but held on to win.
QPR have now taken just one point from their least three Championship games and are four points off second-placed Burnley, who they have a game in hand on, and 11 adrift of leaders Leicester.
Reading, in sixth, are four points ahead of seventh-placed Brighton, who have played a game less than them.
The visitors took the lead after 10 minutes when Williams found Adam Le Fondre out on the left and then drifted into the box unmarked to head home the striker's cross.
But QPR equalised when Reading failed to clear their lines and Doyle pounced after Will Keane's effort had been parried by keeper Alex McCarthy.
Pearce, playing because his red card against Sheffield Wednesday was rescinded after an appeal, restored his side's lead when he headed in Jobi McAnuff's corner.
McCleary then collected the ball in his own half before galloping towards the penalty area and unleashing a brilliant 25-yard shot that flew into the top corner as he put Reading 3-1 up.
Reading continued to press and wanted a penalty for a handball against Clint Hill before then having to withstand a spell of pressure.
A red card for Gorkss did not help the Royals cause but they kept QPR at arm's length to secure the three points.
QPR manager Harry Redknapp:
"I thought the best team won. Reading were bright, they had more energy than we did and I've got no complaints.
"It's a difficult day but we've got to pick ourselves up again. We've got to work hard on the training pitch and get back to how we were playing a few weeks ago.
"There's testing times in every season. I've had one in every season I've been in management and this is just another one."
- 39Assou-EkottoSubstituted forBenayounat 78'minutes
- 17BartonBooked at 61mins
- 6HillBooked at 26mins
- 23HoilettBooked at 15mins
- 19KranjcarBooked at 62mins
- 12KeaneSubstituted forZamoraat 57'minutes
- 37ObitaBooked at 90mins
- 23WilliamsBooked at 30mins
- 17GorkssBooked at 71mins
- 12McClearyBooked at 47minsSubstituted forKellyat 90+3'minutes
- 7PogrebnyakSubstituted forRobson-Kanuat 85'minutes
- 9Le FondreSubstituted forHectorat 73'minutes
- David Coote
- Shots on Target
Second Half ends, Queens Park Rangers 1, Reading 3.
Offside, Reading. Chris Gunter tries a through ball, but Stephen Kelly is caught offside.
Foul by Richard Dunne (Queens Park Rangers).
Hal Robson-Kanu (Reading) wins a free kick in the attacking half.
Attempt missed. Yossi Benayoun (Queens Park Rangers) header from the centre of the box misses to the left. Assisted by Junior Hoilett with a cross following a corner.
Corner, Queens Park Rangers. Conceded by Jordan Obita.
Substitution, Reading. Stephen Kelly replaces Garath McCleary.
Jordan Obita (Reading) is shown the yellow card.
Clint Hill (Queens Park Rangers) wins a free kick in the defensive half.
Foul by Hal Robson-Kanu (Reading).
Foul by Yossi Benayoun (Queens Park Rangers).
Garath McCleary (Reading) wins a free kick on the right wing.
Corner, Reading. Conceded by Richard Dunne.
Foul by Bobby Zamora (Queens Park Rangers).
Hope Akpan (Reading) wins a free kick in the defensive half.
Corner, Reading. Conceded by Joey Barton.
Corner, Reading. Conceded by Aaron Hughes.
Attempt missed. Joey Barton (Queens Park Rangers) left footed shot from outside the box is just a bit too high.
Substitution, Reading. Hal Robson-Kanu replaces Pavel Pogrebnyak.