Shorey struck a superb inswinging effort from 25 yards which clipped the far post as it beat keeper Chris Day.
Dean Morgan fired wide with the Royals' best opening of the first half while Paul Furlong also went close with a header for the visitors.
But Shorey hit the winner after the break while QPR's Jamie Cureton saw red for kicking out at Steve Sidwell.
Cureton was furious that Sidwell shouted "Jack's" - footballers' code for
"leave it" - to him as he was about to receive the ball in the 73rd
minute.
QPR boss Ian Holloway on launching a tirade against his team after the game:
"I was angry after the game, and I ended up making a total idiot of myself.
"I was unprofessional: I was shouting and I wasn't listening to my players,
and I accept now that I got it wrong.
"Jamie should not have reacted in the way he did, although I would never have
done what Sidwell did.
"The red card changed it, but I thought we had played well in the second
half, and the goal came against the run of play."
Reading: Hahnemann, Shorey, Sonko, Ingimarsson, Hughes, Little, Sidwell, Harper, Brooker, Kitson (Owusu 55), Morgan (Forster 68).
Subs Not Used: Convey, Newman, Young.
Booked: Kitson, Harper.
Goals: Shorey 64.
QPR: Day, Bignot, Shittu, Santos, Padula (Best 75), Bircham, Gallen, Rowlands (Cook 85), Miller (Ainsworth 85), Furlong, Cureton.
Subs Not Used: Edghill, Bean.
Sent Off: Cureton (73).
Booked: Rowlands, Bircham.
Att: 20,272.
Ref: R Beeby (Northamptonshire).