A clinical display from table toppers Wolves made sure the three points went back with the visitors, with the result heaping more misery on Reading who slip to 19th.
Ivan Cavaleiro put Wolves in front on 16 minutes after rounding Vito Mannone in the Reading goal before full-back Matt Doherty added another late on to restore Wolves’ two-point lead at the top of the Championship.
Royals spurred a host of chances, and lacked the quality shown by their opponents, as they succumbed to their eighth defeat of the season.
Reading made a bright start with John Swift’s shot being turned on to the post by Wolves keeper John Ruddy, after Joey Van den Berg had found the Royals midfielder in space.
At the other end, in form striker Leo Bonatini played in a cross towards Diogo Jota, but he could not divert his header on target.
Royals came close again, as a result from a bobbling back pass and Ruddy’s attempted clearance ricocheted straight into Modou Barrow, with the ball bounces a yard wide of the post.
Some patient build-up from the visitors was then gifted with a goal, as Jota found Cavaleiro, and the Portugese winger rounded Mannone before slotting home into an empty net to put Wolves in front
The home side looked to reply, and a quick burst of speed from Barrow saw him to the byline but his intended cutback for Kermorgant was cleared before the Frenchman could strike an effort at goal.
Kermorgant was then felled in a Royals counter attack, with Willy Bolly lucky to escape a booking. From the resulting free kick, Swift fired a few yards wide of Ruddy’s post.
Full of confidence, Wolves looked to double their lead, this time through Ruben Neve, who teed himself up for a volley after Royals failed to clear the ball, however hiss effort flew harmlessly off-target.
A nicely worked Reading corner almost produced an equaliser, as the ball was worked out to Barrow, whose delivery found Kermorgant, but he could not quite direct his shot on target.
Kermorgant was at the centre of attention again as the half drew to a close, with the 36-year-old going down inside the box under pressure from Ryan Bennett, but referee Roger East waved play on.
In similar fashion to the first half, Royals came out of the traps flying, and should have levelled things up when the ball was pinging around the Wolves box.
Liam Moore and former Wolves man Dave Edwards both had shots blocked before the ball fell to Barrow. He was dispossessed by Boly just as he was about to fire an effort at goal, perhaps guilty of dawdling on the ball when a first time shot would have been more effective.
A rapid counter from Wolves was brought to an abrupt halt as skipper Paul McShane slid in on the byline to break up the attack.
Neves also attempted to add to his side’s advantage, taking aim from 20 yards but Mannone held on to the sweetly-struck effort, and keep Reading in the game.
Moore almost connected with a corner played in by substitute Sonny Aluko’s, and the Royals defender leaped high but the ball was just beyond his reach.
The ball then flashed across the face of goal, as Jota picked up an over-hit cross and drove the ball across the six-yard box but luckily from a Royals point of view, there were no Wolves players to turn it goal wards.
As the game entered the final ten minutes, Jaap Stam’s men heaped the pressure on Wolves, with a low Beerens cross finding Barrow who was denied impressively by Ruddy and although Aluko got to the follow up, his attempt was cleared off the line by Boly.
Despite a host of Royals chances, it was Wolves who guaranteed the points on 88 minutes when Doherty received the ball after good work down the right from substitute Costa, and Doherty spun away from the Royals defence in the box before burying a left-footed effort into the net.
Reading: Mannone, Gunter, McShane (c), Moore, Ilori (Edwards 31), Van den Berg, Bacuna, Swift, Beerens (Bodvarsson 81), Barrow, Kermorgant (Aluko 66).
Subs not used:
Yellow Cards: Bacuna (20), Van den Berg (56),
Wolves: Ruddy, Doherty, Bennett, Coady (c), Boly, Vinagre, Neves, Saiss, Jota (Costa 85), Cavaleiro (N’Diaye 78), Bonatini (Enobakhare 72).
Goals: Cavaleiro (16), Doherty (88)
Yellow Cards: Doherty (59), Bennett (64),
Referee: Roger East
Attendance: 20,708 (3,873 away)