Barnsley suffered a seventh successive defeat as they took the lead but lost 2-1 at Bristol City on Saturday.
Aaron Leya Iseka put the visitors in front and they were on top for most of the first half but Andreas Weimann netted in the 42nd and 45th minutes to secure his side's first home win since January.
The Reds continued to create the better chances after the break but remain winless in 13 games and second bottom in the Championship, while they are now four points from safety.
Markus Schopp made four changes to the side that lost 3-2 at home to Sheffield United six days earlier.
Barnsley were handed a huge pre-game boost as Mads Andersen played his first match of the season following injury, in place of Toby Sibbick.
Devante Cole and Aaron Leya Iseka came in for Victor Adeboyejo and Dominik Frieser while Jordan Williams replaced Callum Styles. Josh Benson returned from injury to be on the bench but there was no place for Will Hondermarck or Obbi Oulare.
The first quarter of the match saw very little action, with Jordan Williams' cross-come-shot easily saved before Tyreeq Bakinson shot just over at the other end.
The first big chance fell to the Reds in the 24th minute when, after Jasper Moon won the ball and Callum Brittain played him in, Williams' 12-yard shot from the left of the penalty area was well-saved by Daniel Bentley.
The goal arrived minutes later when Cole ran down the right of the penalty box and pulled the ball back for Leya Iseka who fired in from six yards out. It was his second goal in as many games and Barnsley's first away from home in four.
Brittain then brought a decent save out of Bentley with a low 22-yard effort following excellent work by Woodrow who beat a man and passed to the right wing-back.
Leya Iseka almost got a second goal but took a poor touch when free in the box from Woodrow's fine cross.
At that point, the Reds were on top and the home fans were beginning to turn on their side who had not won at Ashton Gate in 17 games.
The equaliser came against the run of play when Nakhi Wells' pass put Weimann clean through and he beat Brad Collins one-on-one.
Former Barnsley player Matty James almost put the hosts ahead after a long throw was cleared to him but his shot from just inside the box was well saved by Collins diving down to his right.
It was 2-1 on the stroke of half-time when the visitors' backline was once again cut open and Chris Martin was free on the left of the box to pick out Weimann who finished well again.
Both goals were due to poor defending from the Reds who were far too easy to pass through and they went into the break knowing 42 minutes of good work had been undone.
Schopp brought Benson on for Claudio Gomes at half-time.
Williams had his third shot on target of the game on the hour when his 25-yard curling effort was easily caught by Bentley.
There was then an astonishing goalmouth scramble from a Benson corner, with Michal Helik crashing a close-range shot against the bar before Moon;s effort was scrambled off the line by Martin.
Wells then should have made it 3-1 after being played in by Bakinson on the break from a Barnsley corner but blazed over 12 yards out on the right of the box.
Benson then almost scored his first Barnsley goal but his diving header seven yards out from Cole's cross was superbly repelled at point blank range by Bentley.
Benson's left-wing corner was then cleared off the line before the visitors appealed for a penalty for handball in the box but it was not given.
Cole curled a 25-yard shot over the top right corner then, in the 94th minute, a back-post header by Brittain appeared to be put over almost on the goalline by Cole.
Bristol City (4-3-3): Bentley; Tanner, Kalas, Atkinson, Pring (Dasilva 50mins); James, Massengo, Bakinson (Benarous 67mins); Weimann, Wells, Martin.
Unused: O'Leary, Simpson, O'Dowda, Bell.
Goals: Weimann 42, 45.
Barnsley (3-4-3): Collins; Andersen, Helik, Kitching; Brittain, Gomes (Benson HT), Moon, J Williams; Cole, Woodrow, Leya Iseka (Adeboyejo 77mins).
Unused: Walton, Sibbick, Palmer, Oduor, Frieser.
Goals: Iseka 28.
AS IT HAPPENED
-
-
3:04pm
-
3:05pm
-
3:06pm
-
3:09pm
-
3:10pm
-
3:11pm
-
3:12pm
-
3:14pm
-
3:15pm
-
3:16pm
-
3:17pm
-
3:18pm
-
3:18pm
-
3:20pm
-
3:20pm
-
3:22pm
-
3:26pm
-
3:29pm
-
3:30pm
-
3:31pm
-
3:38pm
-
3:38pm
-
3:41pm
-
3:42pm
-
3:44pmGOAL!
-
3:46pm
-
3:47pm
-
3:48pm
-
3:50pmGOAL!
-
3:51pm
-
4:06pm
-
4:10pm
-
4:11pm
-
4:13pm
-
4:14pm
-
4:17pm
-
4:18pm
-
4:20pm
-
4:23pm
-
4:23pm
-
4:27pm
-
4:28pm
-
4:29pm
-
4:33pm
-
4:34pm
-
4:36pm
-
4:37pm
-
4:38pm
-
4:41pm
-
4:44pm
-
4:44pm
-
4:45pm
-
4:48pm
-
4:49pm
-
4:50pm
-
4:51pm
-
4:53pm
-
4:54pm
-
4:56pm