Substitute Darren Byfield's late goal gave Bristol City victory over Barnsley, who lost Jamal Campbell-Ryce to a second yellow after 54 minutes.
Byfield netted from 12 yards out after Marvin Elliott had headed Michael McIndoe's free-kick into his path.
It looked like the game was heading for a draw after Enoch Showunmi twice cancelled out Barnsley strikes.
Jonathan Macken scored from 25 yards out then Dennis Souza headed Brian Howard's corner into an empty net.
Bristol City boss Gary Johnson:
"We are not going to get all big time and brag about what we might achieve in the second half of the season.
"But I'm certainly proud of my players and our club over how we have fared over the first 23 games.
"We need to maintain standards while keeping our feet firmly on the ground."
Barnsley boss Simon Davey
"Our lad was clipped and it should have been a penalty.
"I'm flabbergasted by the performance of the officials. The referee was clearly intimidated by the home fans.
"I thought my team were magnificent. We stood strong against 12 men because the referee was certainly on their side."
Bristol City: Basso, Orr, Carey, McCombe (McAllister 70), Fontaine, Sproule (Byfield 85), Johnson, Elliott, McIndoe, Trundle (Skuse 90), Showunmi.
Subs Not Used: Weale, Noble.
Booked: McCombe, Fontaine, Byfield.
Goals: Showunmi 35, 45, Byfield 90.
Barnsley: Muller, Nyatanga, Foster, Souza, Van Homoet, Campbell-Ryce, De Silva, Howard, Devaney (Togwell 74), Ferenczi (Odejayi 65), Macken.
Subs Not Used: Hassell, Mostto, McCann.
Sent Off: Campbell-Ryce (54).
Booked: Ferenczi, Devaney, Campbell-Ryce, Howard.
Goals: Macken 33, Souza 40.
Ref: Keith Hill (Hertfordshire).