Match ends, Sheffield Wednesday 0, Reading 2.
Reading secured three crucial points in the race for the Championship play-off places as they held on for victory at top-six rivals Sheffield Wednesday.
Yann Kermorgant's clinical first-half finish put the visitors in front.
Reading's Ali Al Habsi produced several important saves, reacting well to deny Jordan Rhodes and Will Buckley.
The hosts threw keeper Keiren Westwood up for a late corner and were punished when Reading broke away and Adrian Popa tapped into an unguarded net.
The Royals move up to fourth, five points above sixth-placed Wednesday, who will feel they could have easily won the game but for Al Habsi's brilliance.
The Owls had chances to level before the break but Morgan Fox's low shot struck the post, Adam Reach missed the target from close range and Al Habsi instinctively turned away Rhodes' header.
After half-time, Al Habsi saved another Rhodes header before substitute Callum McMananam had an effort cleared off the line and the Royals keeper denied the winger twice to cap a man-of-the-match display.
Wednesday committed men forward in the closing stages, including their own keeper deep into stoppage time, but that enabled Popa to break and slot in a second goal that was harsh on Carlos Carvahal's side.
The result means seventh-placed Fulham could leapfrog the Owls, who have lost four of their past six games, and move into the play-off places when they host Wolverhampton Wanderers on Saturday.
Sheffield Wednesday head coach Carlos Carvalhal: "I think all of us will agree that we did everything to win the game. We gave the maximum and we deserved to win the game, in my opinion.
"My players played with a fantastic attitude and they created a lot of chances. The highlights will explain the story of the game very easily.
"It was a very hard week for me - probably one of the hardest for me in my career as a coach - because we missed some players.
"This is not over yet. We're still alive and we'll be focused in the last eight games to achieve the points which will achieve a good position."
Reading manager Jaap Stam: "It's been a fight and I'm very proud of my team. In these games it's going to be very tight, especially away from home and we knew it was going to be very hard.
"We also knew what we could do to make it hard for them. We scored a very good early goal and they gave us time to play. They had their chances as well, which is normal.
"Part of our game plan was to keep the ball and make them impatient. We succeeded in doing that. We defended, kept it very tight and didn't give them a lot of space to play.
"We're very realistic in what we can achieve. We're up there and we're going to give it a shot so hopefully we can stay up there."
- 12LoovensSubstituted forNuhiuat 89'minutes
- 3JonesSubstituted forMcManamanat 60'minutes
- 11WinnallSubstituted forFletcherat 78'minutes
- 26Al Habsi
- 24BlackettBooked at 25mins
- 11ObitaBooked at 64mins
- 4van den Berg
- 7BeerensSubstituted forGrabbanat 62'minutes
- 8SwiftSubstituted forOxfordat 90+4'minutes
- 12McClearySubstituted forPopaat 87'minutes
- Geoff Eltringham
- Shots on Target
Second Half ends, Sheffield Wednesday 0, Reading 2.
Goal! Sheffield Wednesday 0, Reading 2. Adrian Popa (Reading) left footed shot from the centre of the box to the bottom left corner following a fast break.
Substitution, Reading. Reece Oxford replaces John Swift.
Corner, Sheffield Wednesday. Conceded by Ali Al Habsi.
Attempt saved. Callum McManaman (Sheffield Wednesday) left footed shot from the centre of the box is saved in the top left corner.
Foul by Atdhe Nuhiu (Sheffield Wednesday).
Joey van den Berg (Reading) wins a free kick in the defensive half.
Attempt blocked. Adam Reach (Sheffield Wednesday) left footed shot from outside the box is blocked.
Substitution, Sheffield Wednesday. Atdhe Nuhiu replaces Glenn Loovens.
Adam Reach (Sheffield Wednesday) wins a free kick in the defensive half.
Foul by Danny Williams (Reading).
Substitution, Reading. Adrian Popa replaces Garath McCleary.
Corner, Sheffield Wednesday. Conceded by Joey van den Berg.
Attempt blocked. Adam Reach (Sheffield Wednesday) right footed shot from the centre of the box is blocked.
Corner, Sheffield Wednesday. Conceded by Tyler Blackett.
Attempt saved. William Buckley (Sheffield Wednesday) header from the centre of the box is saved in the centre of the goal. Assisted by Adam Reach with a cross.
Corner, Sheffield Wednesday. Conceded by Chris Gunter.
Attempt saved. Callum McManaman (Sheffield Wednesday) right footed shot from outside the box is saved in the bottom right corner. Assisted by Adam Reach.
Corner, Sheffield Wednesday. Conceded by John Swift.