Match ends, Preston North End 1, Bristol City 1.
Bristol City fought back to draw at fellow automatic promotion hopefuls Preston to maintain their eight-point lead at the top of League One.
Jermaine Beckford's overhead kick went wide for Preston and City's Aaron Wilbraham hit the bar early on.
North End took the lead in the second half when Beckford scored from Paul Gallagher's assist.
The Robins retaliated immediately with Wilbraham heading in Aden Flint's flick on to earn City a point.
Bristol City need just one more win to guarantee Championship football next season while Preston are five points clear of third-placed MK Dons with five games to go.
Bristol City boss Steve Cotterill told BBC Radio Bristol:
"It could have been three and maybe if you look at it with their goalkeeper [Sam Johnstone] being man of the match, he's pulled out three fantastic saves today - one from Kieran Agard at the end with a cross-shot and another two from Aaron Wilbraham.
"How he's kept the two out from Wilbraham I don't know.
"So with him getting man of the match, it probably says a lot about our performance today.
"I thought we were good in a pretty hot atmosphere for us."
- 22KingBooked at 30mins
- 7HumphreySubstituted forWisemanat 84'minutesBooked at 85mins
- 14GarnerSubstituted forRobinsonat 84'minutes
- 10BeckfordSubstituted forDaviesat 90+2'minutes
- 15FreemanSubstituted forElliottat 90'minutes
- 19AgardSubstituted forEmmanuel-Thomasat 82'minutes
- Robert Madley
- Shots on Target
Second Half ends, Preston North End 1, Bristol City 1.
Attempt saved. Callum Robinson (Preston North End) left footed shot from the centre of the box is saved in the bottom left corner.
Substitution, Preston North End. Kevin Davies replaces Jermaine Beckford.
Substitution, Bristol City. Wade Elliott replaces Luke Freeman.
Corner, Preston North End. Conceded by Derrick Williams.
Corner, Preston North End. Conceded by Aden Flint.
Attempt blocked. Jay Emmanuel-Thomas (Bristol City) right footed shot from the centre of the box is blocked.
Attempt blocked. Marlon Pack (Bristol City) right footed shot from outside the box is blocked.
Scott Wiseman (Preston North End) is shown the yellow card.
Foul by Scott Wiseman (Preston North End).
Luke Freeman (Bristol City) wins a free kick in the defensive half.
Substitution, Preston North End. Callum Robinson replaces Joe Garner.
Substitution, Preston North End. Scott Wiseman replaces Chris Humphrey.
Attempt missed. Jay Emmanuel-Thomas (Bristol City) left footed shot from the right side of the box is too high.
Substitution, Bristol City. Jay Emmanuel-Thomas replaces Kieran Agard.
Corner, Bristol City. Conceded by Sam Johnstone.
Attempt saved. Kieran Agard (Bristol City) right footed shot from outside the box is saved in the bottom left corner.
Attempt missed. Joe Bryan (Bristol City) left footed shot from long range on the left is too high.
Foul by Bailey Wright (Preston North End).