Adam Hammill had earlier fired Barnsley into a deserved 14th-minute lead as Mark Robins's side produced a wonderful first-half performance which belied their lowly league position.
The Baggies improved somewhat after the break, but Shelton Martis' 80th-minute own goal sent Barnsley further clear before Chris Brunt grabbed a late consolation with a stunning left-footed strike from 25 yards.
Albion remain second in the Championship table, while Barnsley moved out of the relegation zone and up to 21st following their first league victory on home turf this season.
With goalkeeper David Preece sidelined with an ankle injury, Barnsley boss Mark Robins handed a debut to new loan signing Bartosz Bialkowski, one of three changes from Saturday's 5-2 defeat at QPR.
Brunt returned to the West Brom side following a knee injury, with Gonzalo Jara dropping to the bench, while Chris Wood replaced the injured Luke Moore in attack.
Barnsley started superbly and were rewarded with the game's opening goal in the 14th minute.
Hugo Colace failed to make clean contact as he looked to meet Jon Macken's right-wing cross with an acrobatic volley, but Hammill picked up the loose ball and turned his marker before prodding home with the outside of his right boot.
The Tykes continued to enjoy the better of proceedings as the half wore on, with the front pairing of Hume and Macken particularly impressive.
However, Bednar wasted a golden opportunity for the visitors on the half hour, fluffing his shot from close range after Robert Koren's cross had deflected into his path.
Barnsley made the Albion forward pay in the 32nd minute, Hume confidently sending Scott Carson the wrong way from the spot after Martis had been penalised for a foul on Macken.
Jonas Olsson headed wide from a corner and Graham Dorrans saw a thunderous half-volley superbly tipped over by Bialkowski as Albion looked to hit back.
The hosts, meanwhile, saw Anderson limp off injured towards the end of the half, with Julian Gray replacing him.
West Brom introduced Jara in place of Youssouf Mulumbu at the break and were immediately in the ascendancy in the opening stages of the second period, with the hosts seemingly content to sit on their lead.
However, Roberto di Matteo's side were unable to break down a spirited Barnsley backline, and Bialkowski remained largely untroubled as the hour mark ticked by.
Joe Mattock was forced to clear off the line from a Barnsley corner in the 69th minute as the hosts looked to wrap up the three points.
At the other end, the impressive Ryan Shotton made a fine block to deny Bednar, before Martis headed the resulting corner over the bar.
Hume was withdrawn to rapturous applause with 14 minutes remaining, and the home supporters were given further reason to cheer in the 80th minute as Martis inadvertently directed Hammill's cross into his own net.
Brunt's powerful long-range strike ensured Albion at least got on the scoresheet, but it was too little, too late for di Matteo's men.