City returned into the Sky Bet League Two play-off spots after recording a 2-1 win - their third on the bounce at home, in the league - against Swindon Town.
After a lively but goalless first half, Gary Bowyer's side rallied after the break to condemn the high-flying Robins to their first away league loss of the campaign.
The Bantams controlled the early stages of the encounter, going close through Hope Akpan, Clayton Donaldson and Zeli Ismail.
The Albanian-born winger, on his first league start of the season - was then inches away from breaking the deadlock, seven minutes before the interval.
Ismail got on the end of a deep Connor Wood cross, but could only guide his effort against the foot of the post, with Kelvin Mellor unable to convert the rebound.
City thought they had taken the lead - just before the hour mark - only to be denied by the linesman's flag.
A swift counter attack saw Ismail zip the ball across the face of goal for Donaldson to tap in at the far post, though the striker was offside.
Bowyer's men did, however, draw first blood in the 69th minute through Hope Akpan - on his return to the starting 11.
Threatening play saw Donaldson hit a venomous long-range effort which was parried by goalkeeper Luke McCormick, but Akpan was on hand to head home the rebound.
The visitors drew level - five minutes later - when Jerry Yates found space to turn in the area and finish low, beyond Richard O'Donnell.
But the Bantams again demonstrated admirable fight to clinch the winner, with just over 10 minutes remaining.
Connor Wood laid off a neat pass to Shay McCartan who fired into the bottom corner from the edge of the area - with the help of a slight deflection.
CITY: Richard O’Donnell; Kelvin Mellor (booked 90'), Paudie O’Connor (Tyler French 84'), Anthony O’Connor, Connor Wood; Zeli Ismail (Shay McCartan 70'), Callum Cooke, Hope Akpan (Daniel Devine 82'), Harry Pritchard, Dylan Connolly; Clayton Donaldson (c). Subs (not used): Sam Hornby (GK), Adam Henley, Jermaine Anderson, Aramide Oteh.
GOALS: Akpan (69'), McCartan (79').
SWINDON: Luke McCormick; Rob Hunt, Gabriel Zakuani, Zeli Fryers, Ellis Iandolo (booked 43’), Lloyd Isgrove (Adam May 86'), Jordan Lyden (c, booked 19’, Scott Twine 86'), Anthony Grant, Kaiyne Woolery; Keshi Anderson (booked 25’, Michael Doughty 46'), Jerry Yates. Subs (not used): Steven Benda (GK), Danny Rose, Tom Broadbent, Taylor Curran.
GOALS: Yates (74').
ATTENDANCE: 14,136 (523 visitors).
REFEREE: Tom Nield.