Match ends, Barnsley 2, Bristol City 2.
Aaron Wilbraham's rasping shot rescued Bristol City a point at Barnsley and preserved the League One leaders' unbeaten record.
Luke Ayling headed Joe Bryan's delivery back across goal and past the diving Ross Turnbull to put City ahead.
Sam Winnall then equalised with a curling effort and Conor Hourihane's penalty, after he was fouled by Ayling, turned the game on its head.
But Wilbraham's strike from the edge of the box denied Barnsley victory.
|Sharing the goals around|
|In scoring against Barnsley, Luke Ayling became the 15th different player in Bristol City's squad to find the net this season - in only their 17th game in all competitions.|
The Robins had set a new club record of 14 league matches without defeat at the start of the season by drawing against Bradford on Tuesday, but Hourihane's eighth goal of the campaign looked to have brought that run to an end.
However, Wilbraham - without a goal in six matches - struck a fierce shot past Turnbull with 11 minutes left to earn a point for City.
There was still time for Hourihane to clip a post late on as both sides pressed for a winner in a frantic conclusion to the match.
Bristol City manager Steve Cotterill told BBC Radio Bristol:
"We probably went through all the emotions. I thought in the first half we were great and controlled the game, but needed that second goal. And then in the second half we didn't use enough of our possession early enough in the game.
"We ended up going 2-1 down, whether that was fair enough I don't really know, maybe it was.
"But when we went 2-1 down, it wasn't just Bristol City that were 2-1 down away from home, it was Bristol City the last club in the Football League to remain unbeaten that were 2-1 down away from home, and that pressure then intensifies on the players.
"And I thought they were fantastic. It was a really good away performance, we just made a couple of mistakes."
- 9WinnallBooked at 58mins
- 13WilliamsSubstituted forJenningsat 84'minutes
- 23BryanBooked at 54minsSubstituted forCunninghamat 90+2'minutes
- 15FreemanSubstituted forEmmanuel-Thomasat 70'minutes
- 19AgardSubstituted forWagstaffat 86'minutes
- Darren Deadman
- Shots on Target
Second Half ends, Barnsley 2, Bristol City 2.
Corner, Bristol City. Conceded by Peter Ramage.
Foul by Devante Cole (Barnsley).
Korey Smith (Bristol City) wins a free kick in the defensive half.
Substitution, Bristol City. Greg Cunningham replaces Joe Bryan.
Substitution, Bristol City. Scott Wagstaff replaces Kieran Agard.
Conor Hourihane (Barnsley) hits the right post with a left footed shot from the left side of the box.
Substitution, Barnsley. Dale Jennings replaces Ryan Williams.
Goal! Barnsley 2, Bristol City 2. Aaron Wilbraham (Bristol City) right footed shot from outside the box to the top right corner.
Attempt missed. Sam Winnall (Barnsley) right footed shot from outside the box is high and wide to the right.
(Barnsley) wins a free kick in the attacking half.
Foul by Aaron Wilbraham (Bristol City).
Attempt missed. Conor Hourihane (Barnsley) right footed shot from outside the box is close, but misses to the right.
Substitution, Bristol City. Jay Emmanuel-Thomas replaces Luke Freeman.
Goal! Barnsley 2, Bristol City 1. Conor Hourihane (Barnsley) converts the penalty with a right footed shot to the bottom left corner.
Penalty Barnsley. Conor Hourihane draws a foul in the penalty area.
Penalty conceded by Luke Ayling (Bristol City) after a foul in the penalty area.
Corner, Barnsley. Conceded by Frank Fielding.
Attempt missed. Ryan Williams (Barnsley) right footed shot from the centre of the box is close, but misses to the left.