Yakou Méïté and George Pușcaș were both on the scoresheet as they fired Reading to a well-earned 2-0 victory over Barnsley on Saturday afternoon.
The opening exchanges between the teams were nip-and-tuck, but Méïté applied the vital touch from a free kick to put Reading ahead in the first half, before heroics between the posts on the stroke of half-time kept Reading in front.
Pușcaș notched his 10th of the season on the hour mark with a fine solo goal, running through from the halfway line to slot into the bottom corner and give the Royals three important points at the weekend.
The arrival of the team news saw Mark Bowen makefive changes to the side that lost to Wigan in midweek, with Liam Moore missing out through illness and Matt Miazga returning from injury to start in his place.
Within the first minute, play was stopped after Barnsley's Aapo Halme and Jordan Williams clashed heads when going up for the same high ball. After a delay, play was able to continue.
The weather was variable to say the least on Saturday, with bright sunshine quickly followed by hail and rain showers in tricky conditions at the Madejski.
Reading forced the first chance with a good move starting from Rafael. The ball made its way to Michael Olise on the left, who cut back for an incisive ball to Ovie Ejaria - jinking past his man and letting fly, forcing Brad Collins into a flying save to his left.
The visitors had won their last three matches going into the weekend's match in Berkshire, and showed neat flashes of their attacking intent without troubling Reading too much in the first 15 minutes in RG2.
But a free kick in the Barnsley half would see the Royals open the scoring on the day. John Swift swung a dangerous ball into the area, with Michael Morrison getting his head to it. Méïté was then on hand to guide it into the bottom corner.
The ball seemed to trickle beyond the defence and Collins in the Barnsley goal in slow motion, but it doesn't matter how they cross the line. The Ivorian notched his 11th of the season and the Royals were in front.
Straight after the restart, the Reds went on the offensive to try and get level. Jacob Brown forged his way into space outside the area - his low daisy-cutter was beyond Rafael, but also beyond the post in a quick reminder to the Royals not to get complacent.
Reading's passing was slick in the first half, moving forward with intent and putting the visitors under consistent pressure - showing an immediate response following the disappointment of midweek.
Barnsley showed glimpses of their potential, though, when a corner was recycled and a cross was fired towards Conor Chaplin at the far post. He controlled and rifled across goal, but mercifully wide of Rafael's upright.
Reading were looking good value for their lead, but a loss of balance in defence allowed Woodrow to storm through on goal. He got into the box with just Rafael to beat, but Barnsley's top scorer dragged his effort wide in a let-off for Reading.
The last action of the half saw Rafael spring into action to help his team. Woodrow struck low to force an initial save, before he controlled and fired a follow-up towards the far corner, but the Brazilian in our goal was able to claw it away in a stunning save to bring the half to a close.
Half time | Reading 1-0 Barnsley
The second half got underway with Luke Thomas being introduced for Barnsley, as they looked to turn the tide of the match in RG2.
Within 15 seconds of the restart, Reading got themselves on the front foot. Rinomhota threaded a ball through to Pușcaș on the right, with the striker crossing towards Méïté in the area. He got his head to it, but could only put it beyond Collins' near post.
The volume increased in the stands at Madejski Stadium, with the home faithful roaring their team on as they looked to double their lead against the Reds.
Sensing danger, Gerhard Struber rolled the dice and made his two remaining substitutions before the hour mark, with his team in desperate need of three points to help their survival bid.
Woodrow pounced on a defensive mix-up to give himself another opportunity to score shortly afterwards, with Miazga tracking him well to put in a key block at the crucial moment.
But on the break, Reading doubled their advantage. Pușcaș was the recipient of a ball forward to the halfway line, and he did brilliantly to spin away from Halme and bear down on goal.
He had time to place his finish, doing so expertly from outside the area and jumping into a jubilant Club 1871 to celebrate his 10th goal of the season.
Garath McCleary was introduced midway through the second half in place of Méïté, with Reading now defending a two-goal advantage.
McCleary almost made an instant impact as he threaded a ball through to Ejaria, who in turn spotted Olise on the run. The teenager got a shot away, but the flag was already up for offside.
That proved to be the Academy graduate's last action of the day, as Ayub Masika was brought on for his home Reading debut.
The visitors weren't giving up without a fight at the Madejski. Barnsley attacked in numbers when they were in possession, with sub Mike-Steven Bähre lining up a shot from outside the area. It had power, but Rafael had it covered as he watched it wide.
With defensive surety needed for the final minutes, Pelé was introduced in place of John Swift as Reading looked to keep their advantage.
Woodrow and Thomas both tried their luck from range without avail in quick succession, with the Royals limiting Barnsley's chances to pot-shots as they saw the game out.
Two goals, three points and a clean sheet were Reading's just reward for a fine performance at Madejski Stadium. Onwards to Tuesday night, where we take on Sheffield United in the Emirates FA Cup Fifth Round...
Full time | Reading 2-0 Barnsley
Reading: Rafael, Yiadom, Miazga, Morrison (c), Obita, Rinomhota, Swift (Pelé 79) Ejaria, Olise (Masika 70), Méïté (McCleary 64), Pușcaș.
Subs: Walker, Baldock, Blackett, Richards.
Goals: Méïté (17), Pușcaș (60)
Barnsley: Collins, J Williams, Sollbauer, Halme, Oduor (Thomas HT), Ritzmaier (Bähre 57), Ludewig, Mowatt (c), Brown, Chaplin (Schmidt 57), Woodrow.
Subs: Walton, B Williams, Dougall, Simoes.
Yellow: Mowatt, J Williams, Sollbauer
Referee: Mr J Simpson
Attendance: 13,263 (735 away)