Hecky's lads slip to defeat at Ashton Gate despite twice going ahead.
There were two changes to Paul Heckingbottom's side, with Tom Bradshaw dropping to the bench so Adam Armstrong started up top, and with Matty James' partner giving birth, that meant a recall in midfield for Alex Mowatt.
The Reds started out brightly and after one or two industrious moves broke down at the last second, Armstrong was the first player to try his luck in front of goal when after good work from George Moncur, the diminutive striker brought the ball under control before firing a vicious strike towards goal which City 'keeper Frank Fielding had to turn away sharply.
Our hosts had their own first opportunity when after hesitant Reds defending, Matty Taylor got the better of Saidy Janko but as he raced in on goal, the Reds right-back recovered to deny his opponent the chance to strike.
On 10 minutes Bristol came ever so close. A fine darting run to the by-line by Joe Bryan was matched an excellent cut-back, however, Taylor couldn't slide enough at the far post to stick home the inviting cross.
With 20 played it was the Reds back on top and creating the better opportunities. Mowatt linked well with Moncur, jinked into the box unopposed but his shot deflected onto the inside of Fielding’s left-hand post and into the 'keepers grateful hands.
The Reds were probing constantly by this stage and the hosts were struggling to get out of their own half.
A fine run from Gethin Jones down the left saw him release Ryan Kent ahead of him who in turn slipped in Mowatt inside the box, but his perfect cut-back was cleared desperately by Aden Flint in the City box.
Josh Scowen was booked on 34 minutes when he scythed down a midfielder breaking from deep. And from that resulting free-kick that was launched into the Reds box, the ball dropped for Jamie Paterson whose fierce drive was saved well low down by Adam Davies and the follow-up from Taylor was blocked brilliantly by Jones at the by-line.
On 37 minutes the deadlock was broken...
A lovely run in midfield from Moncur saw him in space to shoot from 20 yards or so and his well-struck shot took a big deflection off Mowatt and beat Fielding in the home net.
HALF TIME: Bristol City 0-1 Barnsley
Marc Roberts didn't reemerge after the break; he was replaced by Callum Evans who went to left back with Jones moving centrally alongside Angus MacDonald.
It was a scruffy opening five minutes in the second half at Ashton Gate before a well worked Bristol move saw Taylor flash a venomous effort just over Davies' crossbar from 25 yards.
But on 53 minutes the equaliser arrived and it was that man Tammy Abraham who was on hand from a couple of yards out to slot into the net after a long ball had been headed down into his path.
Abraham soon came close to a second when after sustained pressure he was denied point blank by a combination of Davies and crossbar.
The Reds were on the ropes now..
Just after the hour mark the hosts went close again when former Reds midfielder Josh Brownhill took aim from 25 yards out but the shot whistled just over Davies' bar.
Then, from nowhere whatsoever Hecky's men hit back in clinical fashion, and what a goal it was!
A great run from deep by Armstrong, skipping beyond his man he slid in Moncur and the midfield maestro took the ball in his stride before lashing the ball home with power high into the roof of the net from the edge of the City box.
The lead didn't last long however, with Paterson turning Jones before lifting a delightful chip over the advancing Davies and into the empty net for 2-2.
And it was 3-2 soon afterwards when the make-shift Reds defence buckled under more pressure; a corner from the right saw Aden Flint powering home a header unmarked from six yards out.
Tom Bradshaw replaced Mowatt on 75 minutes.
Abraham stabbed wide from just inside the box a few minutes later as the Reds were struggling to get out of their own half.
Elliot Lee replaced Armstrong on 83 minutes.
The Reds forced a couple of corners and threw a lot at their hosts late on but it wasn't enough to prevent defeat as Bristol ran down the clock in injury time by the corner flag to claim three points that now sees them all but safe for another year.
FULL TIME: Bristol City 3-2 Barnsley
Reds XI: Davies (GK); Janko, MacDonald, Roberts (Evans 45'), Jones; Watkins, Kent, Moncur, Mowatt (Bradshaw 76'), Scowen; Armstrong (Lee 83').
Unused subs: Townsend (GK), Williams, Hedges, Smith.