A positive and attack-minded first half followed by a brave and resilient defensive display in the second half handed ten man Reading all three points against a Barnsley side who went into the Oakwell fixture on the back of a 4-0 away win at Wolves and in third place in the league.
An entertaining first half saw Garath McCleary open the scoring after Swift had been felled by keeper Adam Davies inside the area - the winger converting from the rebound after seeing his spotkick saved. And Swift scored a second of his own, rifling into the top left corner with a stunning finish to hand Jaap Stam's side a commanding lead.
But McCleary saw red with ten minutes of the first half remaining for pushing Conor Hourihane to ground and the Tykes had a man advantage. They capitalised on that when they Adam Armstrong pulled one back with nine minutes of the game to go, but a fantastic defensive display from the visitors held the Tykes at arm's length throughout the second period and after five minutes of injury time the final whistle rewarded the Royals with maximum points.
Jaap Stam made two changes to the side that drew at home to Birmingham City in midweek, bringing Tyler Blackett back in at left back, while introducing John Swift in midfield. Stephen Quinn and Jordan Obita joined those on the bench, while Academy product Liam Kelly was named as a substitute in Joey van den Berg's injury-enforced absence.
With less than 90 seconds on the clock, Reading so nearly took the lead. Some lovely passing from the back allowed Gunter to play in McCleary down the right and his low centre was collected by Kermorgant who controlled with his first touch and then arrowed goalwards with his second - but the covering defender did enough to deflect it wide of the top right corner and out for a corner.
Then, with only three minutes played, the hosts came close too. Ryan Kent took aim from distance and his well-hit effort swept past a full stretch Ali Al Habsi and struck the crossbar.
Adam Davies couldn't collect a looping cross from McCleary soon after in what was a lively opening to the game. But Beerens decided to take aim from a difficult angle instead of redeliver the ball back into the Barnsley box, driving well over the bar.
But the visitors broke the deadlock in the ninth minute. A well constructed counter attack, led by McCleary, saw the winger slide the ball into the path of John Swift who got the ball just before Adam Davies and the goalkeeper tripped Swift inside the box. Referee David Coote pointed to the spot immediately and McCleary stepped up to strike it down the middle - Davies saved it with his body, but the ball bounced back to McCleary who slotted the rebound high into the Tykes net.
The pace of the game didn't let up. Hamill forced a good low save from Al Habsi, then Gunter's burst forward ended in a right-footed drive that Davies had to deal with.
McCleary was causing all sorts of problems for the home defence. First Evans found him on the attack down the right with an excellent crossfield ball - a move that ended with Williams firing a first time effort at goal which was charged down. Then Beerens swept the ball from left to right to pick out McCleary, the winger this time volleying an effort at goal which bobbled just wide of the bottom left corner.
Paul Heckingbottom's side, who had fired four past Wolves in midweek, continued to pose a threat though. Armstrong connected well with a Kpekawa cross and although his header was blocked, it fell to Hammill who stabbed an effort over from ten yards out.
Beerens forced Davies into a good save at his near post...and soon the Royals had a second! And what a goal! Swift dribbled inside, made a yard for himself to pull the trigger and rifled a right-footed thunderbolt into the top left corner for 2-0.
The home side were nearly caught on the break again moments later, Angus MacDonald having to put McCleary's low cross behind for a corner. But Reading's considerable dominance took a blow when McCleary was shown a straight red card for pushing Conor Hourihane to ground as the Barnsley skipper was having stern words with his teammate Danny Williams who lay injured on the ground at the time.
Hourihane was booked, but remained on the field and took aim from 25 yards soon after the restart, arrowing harmlessly over as Reading readjusted to their reduction in numbers.
Josh Scowen struck an effort too high as the first half came to a close, while Al Habsi did well to shovel an inswinging free kick off his goalline as it sailed past everyone bar a slight glance from Scowen perhaps - and threatened to nestle inside his right post.
Four minutes of injury time played out and the Royals headed into the dressing room two goal ahead but with the need to regroup a little.
Half-time: Barnsley 0-2 Reading
Barnsley began to pile on the pressure from the resumption. Sam Winnall came close five minutes into the second period, heading just wide from an inswinging corner from the right.
Jordan Obita was brought on for Swift, but it took a defensive header from Kermorgant to see off another Barnsley cross, then Scowen came close with a header in the middle that he could only glance past the right post.
Hamill collected a short corner and struck an effort just wide of the top right corner as the second half continued to play out in the Royals' half. But Kermorgant stung Davies' palms with a right-footed effort from the right side of the box.
Al Habsi leapt to his left to push wide a deflected Armstrong strike from the edge of the box, but Stam's side were limiting their opponents to half chances by and large.
At the other end, substitute Stephen Quinn almost latched onto a neat one-two with Kermorgant inside the Barnsley box but a good challenge denied the midfielder a shooting opportunity.
This was turning into a very assured defensive display, Moore shepherding the ball out of play on the byline under pressure from Bradshaw, Williams winning the ball inside his own box with a well-timed challenge on Hammill.
But with nine minutes left, the hosts pulled one back with a sweetly-struck volley from Armstrong from just outside the area - Al Habsi couldn't get a hand to it low to his right as it fizzed into the bottom corner.
Hamill shot on the turn, but wide. Mendes was brought on for the hard-working Kermorgant with five minutes left, but Armstrong at the other end headed inches wide. Reading were hanging on to their lead.
Five minutes of additional time were added and Paul Heckingbottom's men threw the kitchen sink at Reading, Williams conceding a late corner as he sliced clear a Hourihane cross, but McShane hacking clear at the far post.
Al Habsi brilliantly saved an injury time effort from Scowen that looked like it might creep into the bottom right corner. And as Quinn headed clear a corner, the referee blew his whistle and the Royals had bravely held onto all three points.
Full-time: Barnsley 1-2 Reading
Barnsley: Davies, Yiadom, Roberts, MacDonald, White (Kpekawa 17) , Hamill, Scowen, Hourihane (c), Kent (Janko 68), Winnall (Bradshaw 68), Armstrong.
Unused subs: Townsend, Morsy, Jackson, Watkins.
Yellow: Hamill, Hourihane, Armstrong.
Goals: Armstrong (81)
Reading: Al Habsi, Gunter, Blackett, McShane (c), Moore, Evans, Swift (Obita 52), Williams, McCleary, Beerens (Quinn 71), Kermorgant (Mendes 86).
Unused subs: Jaakkola, Watson, Kelly, Harriott.
Yellow: Kermorgant, Williams, Swift, Blackett.
Goals: McCleary (9), Swift (27)
Att: 12,675 (418 away)