Match ends, Bristol City 1, Crawley Town 0.
Luke Ayling struck a late winner to keep Bristol City at the top of the League One table.
The defender drilled a volley past Crawley goalkeeper Lewis Price from a tight angle with just three minutes of normal time remaining.
It was a harsh on the visitors, who had battled hard to belie their lowly status just above the relegation zone.
Price had kept Crawley in the game earlier with brilliant saves to deny Kieran Agard and Joe Bryan.
Bristol City manager Steve Cotterill told BBC Radio Bristol:
"I've been proud of our boys many times this season but I'm really struggling to find one moment better than how I feel about them right now.
"They've had an incredibly tough week. Three games in seven days is bad enough, but when you concertina that into six days it makes it even more difficult.
"I thought the way we started the game, for having those two other games and this one on our sixth day, was magnificent.
"The only travesty was that we didn't go in front before half time."
Crawley Town manager John Gregory told BBC Sussex:
"We basically had [the game] in the palm of our hands, sitting comfortably, and we ended up conceding in the last few minutes of the game - I rather it be somebody else than us and we tend to have these hard luck stories. We're talking about one mistake.
"If you look at it all, our players went for the first ball, everybody wanted to be the hero and they possibly played with their hearts not their heads. I think there were about four yellow shirts that all went for the ball and it came to the back post and straight past Lewis Price.
"I cannot fault the effort and the enthusiasm that our boys showed today. That's why they are so devastated."
- 8ElliottSubstituted forPackat 70'minutesBooked at 90mins
- 2LittleSubstituted forWagstaffat 74'minutes
- 9SmithSubstituted forWilbrahamat 69'minutes
- 16KeaneBooked at 69mins
- 17MillerSubstituted forElliottat 79'minutes
- 21TomlinSubstituted forHarroldat 65'minutes
- Michael Bull
- Shots on Target
Second Half ends, Bristol City 1, Crawley Town 0.
Corner, Crawley Town. Conceded by Aden Flint.
Marlon Pack (Bristol City) is shown the yellow card.
Foul by Marlon Pack (Bristol City).
Lanre Oyebanjo (Crawley Town) wins a free kick in the defensive half.
Corner, Bristol City. Conceded by Bobson Bawling.
Corner, Bristol City. Conceded by Sonny Bradley.
Scott Wagstaff (Bristol City) wins a free kick in the defensive half.
Foul by Bobson Bawling (Crawley Town).
Goal! Bristol City 1, Crawley Town 0. Luke Ayling (Bristol City) right footed shot from very close range to the centre of the goal. Assisted by Aden Flint following a corner.
Corner, Bristol City. Conceded by Lewis Price.
Attempt saved. Aaron Wilbraham (Bristol City) header from very close range is saved in the bottom left corner.
Attempt blocked. Kieran Agard (Bristol City) right footed shot from outside the box is blocked.
Attempt missed. Aaron Wilbraham (Bristol City) right footed shot from the centre of the box is too high.
Luke Ayling (Bristol City) wins a free kick on the left wing.
Foul by Marvin Elliott (Crawley Town).
Derrick Williams (Bristol City) wins a free kick on the right wing.
Foul by Lanre Oyebanjo (Crawley Town).
Corner, Bristol City. Conceded by Lanre Oyebanjo.