Match ends, Bradford City 2, Crawley Town 1.
Substitute Garry Thompson headed a late winner as Bradford City marked the 29th anniversary of their tragic stadium fire with victory over Crawley.
Bradford went ahead when Nathan Doyle found Aaron McLean with a pass over the defence and the striker fired in.
But defender Carl McHugh and goalkeeper Jon McLaughlan then left the ball for one another and Crawley replacement Jamie Proctor nipped in to lob home.
Thompson met Gary Jones's corner to lift City to 13th in League One.
The win takes the Bantams above their opponents with one game left to play.
Fifty-six people died in May 1985 when a fire engulfed Valley Parade during a game against Lincoln City.
Crawley Town boss John Gregory told BBC Sussex:
"Jamie Proctor got us back into the game with a brilliant goal. He took it very well and knew exactly what he was doing in that position.
"There only looked like there was going to one winner but we messed up on a corner and Bradford have nicked the points.
"We had a problem to begin with in set-pieces and we rely too much on Kyle McFadzean and Joe Walsh, who we seem to expect to head clear.
"But other people should take responsibility in that situation and it's something we need to spend time on in the summer."
- 23McArdleSubstituted forMcHughat 58'minutes
- 20De VitaSubstituted forBennettat 69'minutes
- 21McLeanSubstituted forThompsonat 61'minutes
- 28DickerSubstituted forProctorat 56'minutes
- 21JonesSubstituted forTorresat 56'minutes
- Seb Stockbridge
- Shots on Target
Second Half ends, Bradford City 2, Crawley Town 1.
Attempt saved. Garry Thompson (Bradford City) right footed shot from outside the box is saved in the top left corner.
Attempt missed. Josh Simpson (Crawley Town) left footed shot from outside the box is too high.
Foul by Carl McHugh (Bradford City).
Matt Tubbs (Crawley Town) wins a free kick in the defensive half.
Foul by Kyle Bennett (Bradford City).
Gwion Edwards (Crawley Town) wins a free kick in the attacking half.
Garry Thompson (Bradford City) wins a free kick in the attacking half.
Foul by Joe Walsh (Crawley Town).
Attempt saved. Josh Simpson (Crawley Town) header from the centre of the box is saved in the top centre of the goal.
Foul by Mark Yeates (Bradford City).
Dannie Bulman (Crawley Town) wins a free kick in the defensive half.
Goal! Bradford City 2, Crawley Town 1. Garry Thompson (Bradford City) header from the centre of the box to the top right corner. Assisted by Gary Jones.
Corner, Bradford City. Conceded by Paul Jones.
Attempt saved. Garry Thompson (Bradford City) right footed shot from a difficult angle on the left is saved in the bottom right corner.
Attempt missed. Matt Tubbs (Crawley Town) right footed shot from the right side of the box misses to the right.
Attempt saved. Jamie Proctor (Crawley Town) right footed shot from outside the box is saved in the centre of the goal.
Foul by Andrew Davies (Bradford City).
Sergio Torres (Crawley Town) wins a free kick in the defensive half.