A much-changed City side dropped out of the Johnstone's Paint Trophy Area Semi-Final stage for the third time in four years after defeat at League 1 side Crewe Alexandra.
Despite the eventual look of the scoreline, Phil Parkinson's team, featuring as many as eight changes from the weekend, were in the contest until the very end against their higher-ranked opponents.
In freezing conditions at the Alexandra Stadium, one of Parkinson's recalled players - Kyel Reid - actually gave the Bantams the lead of the tie within the first quarter of the match when he fired home from distance past Crewe 'keeper Alan Martin.
Crewe were level just before half-time when a cross from a tight angle by Byron Moore flicked off the boot of Ryan Dickson and looped in despite the efforts of Nathan Doyle on the line.
The evenly-balanced tie remained level until thirteen minutes from the end when another Moore cross was diverted home at the near post thanks to a diving header from Crewe substitute Max Clayton.
With City sub Carl McHugh pushed into attack and Parkinson's men moving to three at the back in the final stages, the Bantams went for it as they looked to stay in the competition.
Such changes would always come with some risk, however, and City were caught open at the back as they pushed forward to allow Bradden Inman to slot home past Jon McLaughlin with a minute of normal time left.
Crewe midfielder Chuks Aneke then added further unfair gloss onto the scoreline in the hosts' favour when he lashed home into the bottom corner from inside the area in the last of two minutes of added time.
FT: Crewe Alexandra 4 Bradford City 1
90+2min: GOAL - Crewe Alexandra 4 Bradford City 1 - Crewe put some unfair gloss on the eventual scoreline when Aneke lashes home into the bottom corner from just inside the area.
90min: There will be two minutes of time added on at the end of the tie.
90min: Wells' low drive from just inside the area is saved by Phillips.
89min: GOAL - Crewe Alexandra 3 Bradford City 1 - With City throwing more men forward looking for a way back in the tie, Crewe break forward with pace on the counter-attack to effectively seal the match with a third. Inman is played in behind City's defensive line by Aneke and the Crewe player coolly slots past McLaughlin.
87min: McHugh glances Wells' inswinging cross narrowly wide of Phillips' far post.
86min: City nearly have an equaliser from an unlikely source when Luke Murphy chests the ball past his on-rushing 'keeper Phillips before having to race back and hook clear to stop it from dropping into his own goal.
84min: SUB - City replace Dickson with Carl McHugh. With City now playing only three at the back, the Irishman has been pushed up into attack alongside Hines and Wells.
84min: Hines' first time curler from outside the area flashes a yard or so wide of Phillips' far post.
83min: GOAL...NO! - Crewe think for a second they have a third of the match when Clayton heads home Moore's inswinging cross from wide but the attacker in the middle is flagged for offside.
82min: Inman's low drive from the edge of the area isn't convincingly dealt by McLaughlin as the ball squirms through his grasp and out for a corner.
80min: Clayton tries to divert Aneke's scuffed cross-come-shot towards goal but his first time effort on the stretch flashes wide of McLaughlin's far post.
77min: GOAL - Crewe Alexandra 2 Bradford City 1 - Crewe have the lead of the tie for the first time on the night when Clayton meets Moore's cross with a diving header that just squirms past McLaughlin at his near post.
71min: SUB - Crewe now bring on Chuks Aneke for Pogba.
66min: SUBS - City bring on Zavon Hines and Nahki Wells for Gray and Connell respectively.
66min: A half-cleared Tootle corner falls into the path of Inman, who volleys an effort from outside the area not too far away from McLaughlin's far post.
64min: SUB - Crewe bring on Max Clayton for Leitch-Smith.
61min: City survive a couple of really nervy moments sparked off by Tootle's low teasing cross into the area. The centre is accidentally turned onto his own near post by the out-stretched leg of Tom Naylor. With the goal gapping, the rebound rolls invitingly into the path of the lurking Moore, but his drive for goal is brilliantly blocked from point blank range by the diving Dickson.
51min: Bradden Inman is played into plenty of space just inside City's area by team-mate Moore but McLaughlin manages to repel the Crewe midfielder's attack by tipping his shot over the bar.
46min: The Bantams restart the tie.
HT SUB - Crewe change their 'keeper at the interval with Steve Phillips coming on for Martin.
HT: Crewe Alexandra 1 Bradford City 1
45min: There will be a minute of time added on at the end of the first half.
45min: Crewe nearly grab another when City cough up possession almost straight from the restart but Leitch-Smith's angled drive from the edge of the area is pushed away by McLaughlin.
44min: GOAL - Crewe Alexandra 1 Bradford City 1 - The host equalise with time running out in the first half when Moore's looping cross from a tight angle drops in under the crossbar despite the best efforts of Nathan Doyle on the line. Moore's awkward cross certainly seemed to be helped towards City's goal thanks to a deflection off the boot of Dickson, who was trying to close Moore down at the time.
42min: Matt Tootle's flighted corner into the area eventually reaches Pogba, who turns into the space over near the far post. With the angle tighting all the time and McLaughlin coming to close him down, the attacker can only fire wide of goal.
29min: Blair Turgott's looping cross into the area is headed for goal by Ritchie Jones but the effort lacks the power to overly-trouble Martin, who gathers quite comfortably.
26min: Leitch-Smith gets a touch on Mellor's inswinging cross into City's area but the ball still drops wide of Jon McLaughlin's near post.
22min: GOAL...NO! Crewe think for a brief moment they have equalised when Ajay Leitch-Smith rifles home Mathias Pogba's headed knock-down inside the area. Any home celebrations soon die down, however, as Pogba is flagged for offside.
18min: GOAL!!!!!!!!!!!!!!!! - Crewe Alexandra 0 Bradford City 1 - The Bantams take the lead of the tie when Kyel Reid's thumping low drive from all of 25 yards out bursts through the clutches of Martin and into the bottom corner.
13min: Gray seems to have a clean sight of goal for a second when he breaks away from Crewe's defences and moves towards Martin's goal. Crewe right back Kelvin Mellor gets back to rescue the situation, however, and dispossess Gray on the edge of the area.
13min: Ryan Dickson's floated free-kick into the area is headed goalwards by Andy Gray but Alan Martin gathers hold of the effort with relative ease.
0min: Crewe kick off the tie.