Michael Olise netted a late winner in the 89th minute to snatch all three points for the Royals away at Queens Park Rangers.
The win keeps Reading in fifth position in the Championship but keeps them within four points of league leaders Norwich City, who they host at the Madejski Stadium on Wednesday evening.
The game looked headed for a goalless draw, but Reading’s young star came up with a moment of magic as he bent the ball into the far left corner from 25 yards to give the visitors a vital away win.
Veljko Paunovic was forced to make changes to his team after Reading’s midweek defeat at home to Birmingham City.
Lucas Joao and Yakou Meite missed out through injury and were replaced by Sam Baldock and Alfa Semedo. Meanwhile, Tomas Esteves started at right-back ahead of Tom Holmes and Michael Olise dropped to the bench for Sone Aluko.

Playing in front of 2,000 QPR fans at the Kiyan Prince Foundation, the hosts created a couple of early chances when Ilias Chair saw two efforts blocked, first from Andy Rinomhota before Rafael parried an effort away from target.
Reading’s first chance fell after 15 minutes as Michael Morrison headed just wide of the post from Ovie Ejaria’s corner.
The Royals then had their best opening of the match when Josh Laurent picked out Ejaria on the left wing with a superb pass. He looked to pick out Sam Baldock in the middle with a low cross but the forward couldn’t make contact despite being at full stretch on the slide.

There was more bad injury news for Paunovic’s team, who are already missing several important first-team players, as Omar Richards was forced off with injury and replaced by Lewis Gibson.
Neither side created enough to find a breakthrough as Liam Moore blocked Tom Carroll’s effort just before the break to ensure that the team’s would go in at half-time with nothing to separate them.

Rangers had half a sniff at goal when Chris Willock found Bright Osayi-Samuel in the box, but Royals’ skipper Moore got a vital touch on the ball to keep the winger’s shot away from danger.
With the teams still locked 65 minutes into the game, Paunovic made his first changes as Holmes and Olise replaced Esteves and Aluko.

Rangers midfielder Carroll picked up the first card of the game when he was booked for a trip on Olise but the Royals failed to capitalise on the set piece.
There was a huge let off in the 77th minute for Reading when they were saved by the post. Chair bent the ball around Rafael but the frame of the goal came to their rescue.
With the game headed for a stalemate, defender Tom McIntyre came on in place of Baldock with just over five minutes to play.
And the Royals came up with a winner in the 89th minute as substitute Olise marked his 19th birthday with a special goal. He was given space to shoot and fired the ball into the corner past Dieng to produce a moment of quality to take the points.
The Royals held on during stoppage time to earn an impressive away win with a depleted squad to keep them in the top six.
QPR: Dieng, Kakay, Dickie, Barbet, Hamalainen, Cameron, Carroll, Osayi-Samuel, Chair, Willock, Dykes
Subs: Kelly, Kane, Masterson, Ball, Battache, Adomah, Thomas, Bonne, Kelman
Reading: Rafael, Esteves, Morrison, Moore, Richards, Rinomhota, Laurent, Ejaria, Semedo, Aluko, Baldock
Subs: Southwood, McIntyre, Gibson, Watson, Holmes-East, Olise, Onen, Melvin-Lambert