Luke Steele made two second-half penalty saves to hand Barnsley their first league win under Keith Hill.
A header from Stephen Foster gave the Tykes the lead before Steele saved the first spot-kick from Ian Harte after Jay McEveley had fouled Jimmy Kebe.
Steele came to the rescue again when he saved Noel Hunt's penalty after McEveley fouled Hal Robson-Kanu.
Matt Done slotted in the second before Robson-Kanu finally scored from the spot after Rob Edwards had fouled Hunt.
Steele also saved a header from Alex Pearce before tipping Jobi McAnuff's fierce driver over the bar.
Prior to denying Harte from the spot, the Tykes keeper pushed the Irishman's goalbound free-kick around the post.