Goals from Stephen Dawson, Reuben Noble-Lazarus and Dale Jennings have given relegation threatened Barnsley a valuable victory at Reading.
Rock-bottom Reds had shot out of the blocks and Dawson had seen an effort palmed away by McCarthy, before Luke Steele came to Barnsley’s rescue when he thwarted McCleary.
Then on 16 minutes Stephen Dawson latched onto a mistake by Chris Gunter, nipping in to intercept a backpass and fire in.
However, the lead lasted just four minutes as Pavel Pogrebnyak was fouled in the box by the returning Kelvin Etuhu and the Russian striker dusted himself off to shoot home past Steele from the spot.
Chris O’Grady shot wide just before half time as the Reds pushed to move in front again.
Barnsley went in front on 53 minutes when a pass by Tomasz Cywka found Noble-Lazarus who fired home and four minutes later Jennings made it three with a well-hit shot.
Steele made a superb stop from Alex Pearce’s header as the Royals tried to get back into the match.
But Barnsley stood firm to claim all three points.
Reading: McCarthy; Gunter, Obita, Gorkss, Pearce; Akpan, McAnuff (c), McCleary, Blackman, Drenthe, Pogrebnyak. Subs: Federici, Kelly, Hector, J Taylor, Tshibola, Robson-Kanu, Le Fondre
Barnsley: Steele, Kennedy, Nyatanga, Etuhu, M’voto, Lawrence, Cywka, Dawson, Jennings, O’Grady, Pedersen. Subs: Turner, McCourt, Hassell, Proschwitz, Mellis, Frimpong, Noble-Lazarus.