Match ends, Preston North End 2, Bradford City 2.
Preston and Bradford stayed in the play-off hunt in League One after an entertaining draw.
Bradford opened the scoring in the the fifth minute when Raffaele De Vita crossed for James Hanson to nod home.
Preston were lucky not to go 2-0 down when Declan Rudd fumbled Kyel Reid's drive onto his post before Tom Clarke headed in the Lilywhites' equaliser.
Bailey Wright rose highest to put North End ahead but Rory McArdle scored the game's fourth headed goal to level.
Another Hanson header was then disallowed as the visitors pushed for a winner, but Preston held on for a deserved point.
VIEW FROM THE DRESSING ROOM
Preston manager Simon Grayson told BBC Radio Lancashire:
"It was a really good game with two teams going head-to-head. There was plenty of tempo and tackles, and it was a very quick game where both teams had opportunities to win it.
"Over the course of the game, it was probably a fair result for both teams.
"It's a hard-fought point because Bradford are a good team. We got off to a poor start but we showed a lot of character to get something out of the game."
- 7HumphreySubstituted forBuchananat 90+2'minutes
- 6WrightBooked at 30mins
- 19WelshBooked at 25mins
- 30BrownhillSubstituted forHolmesat 76'minutes
- 10BeavonSubstituted forHumeat 84'minutes
- 20De VitaSubstituted forKennedyat 77'minutes
- 11ThompsonSubstituted forFolanat 79'minutes
- David Coote
- Shots on Target
Second Half ends, Preston North End 2, Bradford City 2.
Corner, Preston North End. Conceded by Stephen Darby.
Attempt blocked. Kyel Reid (Bradford City) right footed shot from outside the box is blocked.
Attempt missed. Kevin Davies (Preston North End) header from very close range is too high.
Corner, Preston North End. Conceded by Matthew Bates.
Substitution, Preston North End. David Buchanan replaces Chris Humphrey.
Foul by Bailey Wright (Preston North End).
James Hanson (Bradford City) wins a free kick in the defensive half.
Attempt missed. Kyel Reid (Bradford City) right footed shot from outside the box misses to the right.
Attempt missed. James Hanson (Bradford City) header from the centre of the box misses to the right.
Corner, Bradford City. Conceded by Declan Rudd.
Attempt saved. Gary Jones (Bradford City) left footed shot from outside the box is saved in the top centre of the goal.
Substitution, Preston North End. Iain Hume replaces Stuart Beavon.
Foul by Kevin Davies (Preston North End).
Gary Jones (Bradford City) wins a free kick in the attacking half.
Attempt blocked. Kyel Reid (Bradford City) left footed shot from outside the box is blocked.
Kyel Reid (Bradford City) wins a free kick in the defensive half.
Foul by Tom Clarke (Preston North End).
Foul by Keith Keane (Preston North End).