Chris Dagnall struck his third goal in as many games to send Barnsley through to the fifth round following an uninspired FA Cup tie at Championship rivals Hull.
Hull dominated possession and carried the more potent threat, but Barnsley improved after the break and Dagnall, who scored twice in the recent derby win over Leeds, converted the winner from a rebound at the far post in the 70th minute.
In front of a disappointing KC Stadium crowd of 9,932, high-flying Hull struggled to reach the standards that have lifted them into automatic promotion contention this season, while relegation battlers Barnsley will see this hard-earned win as a sign of further progression.
The Tykes have now won three and drawn one of their five matches under manager David Flitcroft.
Hull made two changes with Swiss goalkeeper Eldin Jakupovic in for the cup-tied David Stockdale and midfielder Seyi Olofinjana back in the starting line-up, while Barnsley recalled defenders Scott Wiseman and Bobby Hassell.
The home side dominated a disappointing first half, but met with stubborn resistance from a Barnsley team galvanised by the recent appointment of Flitcroft as permanent manager.
Hull striker Nick Proschwitz dragged a low shot wide from the edge of the penalty area in the ninth minute and drilled a better effort from 20 yards off target before Olofinjana went close with a header from Robbie Brady's 27th-minute free-kick.
Tigers defender Paul McShane headed wide and as half-time approached striker Marlon Harewood fired in Barnsley's first effort on goal, which was blocked by Hull defender Alex Bruce.
Barnsley midfielder Kelvin Etuhu's speculative 35-yard shot against the run of play almost caught out Jakupovic before dropping the wrong side of the crossbar.
Barnsley enjoyed their best spell after the restart, with Harewood lashing a 20-yard shot straight at Jakupovic following neat work on the byline by strike partner Chris Dagnall.
Hull midfielder Robert Koren then forced a fine save at full stretch from Barnsley goalkeeper Luke Steele with a free-kick from 35 yards.
Hull fans began to voice their frustration after Koren had spurned the best chance of the half, pulling his effort from 12 yards wide after being sent clear into the area.
Harewood warmed Jakupovic's hands with another 20-yard shot before Hull substitute Jay Simpson blazed two efforts high and wide for Hull.
The visitors then grabbed the lead against the run of play in the 70th minute.
O'Brien did well out wide and pulled the ball back, first for Dagnall, whose close-range effort was well saved by Jakupovic, but after the Tigers goalkeeper recovered to brilliantly keep out Harewood's follow-up, Dagnall rifled home the second rebound at the far post.
Hull defender Bruce limped off injured soon after and was replaced by Cameron Stewart, while Tykes defender Stephen Foster was sent on for goalscorer Dagnall, who had hurt himself scoring.
Hull rallied in the closing stages and Proschwitz headed straight into Steele's hands, but Robbie Brady's stoppage-time free-kick crashed into the visitors' wall.