Bradford’s hopes of automatic promotion were ended after a dramatic 3-2 stoppage-time defeat at Crewe.
Needing victory to maintain hopes of a top-three finish in League Two, they fought back from a 2-0 half-time deficit with goals from Andy Cook and Jamie Walker.
But they could not find a winner and instead gave away a penalty deep into added time which Chris Long converted.
The Bantams now head into the final round of fixtures still needing a point to mathematically secure a play-off place.
Crewe led 2-0 at the interval thanks to a Dan Agyei double.
He tore off down the left flank and drove an angled shot past Harry Lewis at his near post for the 16th-minute opener.
And Bradford were caught out again on the counter attack two minutes before the interval, with Long teeing-up Agyei for a tap-in.
But Cook headed in his 28th league goal of the campaign from Richie Smallwood’s corner before he set up Walker to slide home an equaliser in the 54th minute.
Goalkeeper Tom Booth made an acrobatic save to keep Scott Banks’ effort from finding the top corner as Bradford pushed to complete the comeback.
But Smallwood was penalised for a trip on Alex substitute David Amoo in the ninth minute of stoppage time and Long kept his nerve to score the winner.