Striker Marc Richards took his remarkable scoring sequence to five goals if his last three games and in doing so pushed Barnsley closer to the top two.
Since joining Barnsley, the former Blackburn frontman has started 15 league matches and responded with nine gaols.
He followed up his two-goal salvo that sunk Nottingham Forrest the previous week with two more against relegation threatened Bristol City.
Both sides were injury hit. Barnsley boss Andy Ritchie had to make four changes from the side that beat Forest because of injury and suspension, while City were without their influential forward Steve Brooker and also lost goalkeeper Adriano Basso in the warm up with a back injury.
Bristol should have had a penalty after just four minutes when Louis Carey saw his shot strike Richards on the arm but referee Nigel Miller waved play on.
The visitors looked dangerous especially from free-kicks and corners but Barnsley were top draw in defence with skipper Paul Reid and full-back Bobby Hassell particularly prominent.
It was Hassell's long throw that began the move for Barnsley's first goal on 28 minutes. Paul Hayes flicked the ball on and Richards brilliantly chipped the ball over Carey and ran into the area before seeing his left-foot shot take a wicked deflection off Matt Heywood.
Barnsley were dealt another injury blow when lively winger Chris Shuker went over on his ankle five minutes before the break and was replaced by striker Tommy Wright.
Barnsley continued to have the edge in the second half, although City did go close through the hard working Bas Savage and midfielder Cole Skuse.
Barnsley skipper Reid had a goalbound shot well blocked and Wright saw a near post header go just wide before the Tykes made the game safe on 81 minutes.
Wright did wonderfully well to get between two defenders and when he was brought down by Carey the referee had no hesitation in pointing to the spot and also showing Carey a straight red card.
Richards stepped up and sent Steve Phillips the wrong way to put the issue beyond doubt.