Substitute Brynjar Gunnarsson came off the bench to grab a welcome winner as ten-man Reading continued their hunt for an instant Premier League return.
But the Icelandic international needed a helping hand from hapless Barnsley centre-back Dennis Souza.
Souza dithered under pressure from Championship top-scorer Kevin Doyle and the Republic of Ireland international robbed him and fed an inviting ball to the unmarked Gunnarsson who rifled his shot in.
It was tough on Barnsley keeper Heinz Muller, who had produced a hat-trick of stunning stops to keep Steve Coppell's side at bay.
Barnsley bombarded the Reading defence after the 35th minute sending off for Mali international Jimmy Kebe for swinging a wild arm at Souza.
But it was Souza's almighty gaffe that let in the visitors on break after 63 minutes.
Muller's finest save came early in the second half with a reflex stop to beat away Iver Ingimarsson's powerful header from Stephen Hunt's excellent corner.
Muller produced two top-drawer first-half saves to deny Reading as the visitors threatened to produce an early opener.
The start was delayed for 15 minutes after Reading's team coach broke down on the M1 seven miles from Barnsley's Oakwell ground.
But it did little to dull the edge of Coppell's high-flyers, who might have gone in front after only eight minutes.
Stephen Hunt's accurate free-kick was glanced by the head of Kevin Doyle but Muller produced and excellent save to turn the effort round the post.
And when Reading used another well-worked set-piece, Muller again turned saviour when Kebe's header almost crept inside the upright before the keeper somehow made a lightning reaction stop.
Barnsley had matched the former Premier League outfit with their own impressive approach work but they faltered in front of goal.
Anderson Silva saw an earlier header saved after pressure following a corner and his fierce shot from the edge of the area ricocheted off a crowd of players.
A Souza header was easily saved before former Reading favourite Jamie Cureton spun to hit a clever shot on the turn but Marcus Hahnemann made a comfortable stop.
But ten minutes before time, Reading were down to ten men when Kebe and Brazilian centre-back Souza clashed in the Barnsley area.
After a discussion with his assistant referee, Clive Oliver showed Kebe an immediate red card.