Mike Sheron scored the only goal to extend Barnsley's unbeaten league run to 10 games.
Sheron notched his 10th goal of the season with a clinical finish five minutes before half time.
Wolves threw everything at the home side in the second half, but failed to break a resilient defence and ultimately wasted their chance to go level on points with Manchester City at the top of the First Division table.
Barnsley went close to taking the lead as early as the 16th minute when Darren Barnard's corner was half cleared to Gary Jones, who smashed a first time effort from the edge of the area against the Wolves bar.
At the other end, Wolves winger Mark Kennedy saw his free kick deflected inches wide of Barnsley's right hand post.
The visitors then created their best chance of the half after a surging run from Nathan Blake. The striker found Dean Sturridge, but he wasted the chance by blazing over from 18 yards.
Barnsley grabbed the lead in the 40th minute. Keeper Kevin Miller's long clearance fell to Sheron. The Tykes striker turned his marker before finding the bottom left hand corner with a low shot past Wolves keeper Michael Oakes.
As the first half drew to a close Sheron saw a daisy cutter easily stopped by Oakes.
After the break Wolves should have drawn level, when Sturridge turned a Kennedy cross goalwards, only for Miller to be equal to the shot.
Sturridge again screwed his effort wide after a mix up between Miller and Barnsley defender Chris Morgan.
On 69 minutes, Miller made amends with a brave save at the feet of Wolves forward Kenny Miller, to deny the substitute stealing an equaliser at the back post.
The home side's only real effort at goal was a snapshot from winger Kevin Donovan.
Wolves were a constant threat after Miller's arrival. The young forward saw his attempt cleared by Donovan who was stood on the Barnsley post.
Miller and team mate Carl Robinson both failed to hit the target with long range efforts late in the game and it was Barnsley who secured the much needed three points.
Teams
Barnsley: Miller, Mulligan, Chettle, Morgan, Barker, Donovan,
Gary Jones, Lumsdon, Barnard, Dyer, Sheron.
Subs Not Used: Marriott, Neil, Ward, Crooks, Bertos.
Booked: Barnard, Lumsdon, Barker.
Goals: Sheron 40.
Wolverhampton: Oakes, Muscat, Lescott, Butler, Camara,
Branch (Miller 64), Robinson (Andrews 86), Rae, Kennedy, Blake,
Sturridge.
Subs Not Used: Naylor, Ndah, Murray.
Booked: Rae.
Att: 13,825
Ref: G Frankland (Middlesbrough).