Mark Hughes’ side were frustrated in a tight goalless draw with Crewe Alexandra, as City maintained their unbeaten home record in Sky Bet League Two.
The Bantams had the better of the chances over the course of the match, but were denied by the visitors’ resolute defence.
City’s No.12 Scott Banks came closest to scoring, with an curling effort which cannoned off the crossbar while two late penalty shouts added to the hosts’ frustration.
Hughes' men began the more superior, with Banks’ looping cross headed over Arthur Okonkwo’s goal by Lee Angol.
Player of the match Banks looked a constant threat on the attack, creating shooting opportunities on numerous occasions, which both tested the goalkeeper and came back off the woodwork.
Harry Chapman’s darting run just before half-time displayed the Bantams' quality, but the winger's shot was blocked.
The introduction of Jake Young and Kian Harratt at half-time gave City the hope they could make it back-to-back league victories. The latter had an instant impact reacting quickest to Richie Smallwood’s free-kick, but his volley flew over the bar.
In a tight game, City pushed for that crucial opener throughout the second half. Young’s driving run down the left-hand side struck danger in the visitors’ backline but full-back Kelvin Mellor did well to close him down.
Into stoppage time, and the Bantams had two penalty appeals waved away by referee Sunny Sukhvir Gill which could have determined the game.
Second-half substitute Vadaine Oliver went to ground after seemingly being held by Zac Williams, before Jake Young’s resulting left-footed effort looked to have struck an arm, but no claim came to fruition.
CITY: Harry Lewis, Brad Halliday, Liam Ridehalgh, Matty Platt, Richie Smallwood, Lee Angol (Jake Young 45’), Andy Cook (Vadaine Oliver 76’), Scott Banks, Ryan East (Levi Sutton 76’), Harry Chapman (Kian Harratt 45’), Romoney Crichlow. SUBS (not used): Colin Doyle, Yann Songo’o, Timi Odusina.
CREWE: Arthur Okonkwo, Kelvin Mellor, Zac Williams, Rodney McDonald, Luke Offord, Conor Thomas, Courtney Baker- Richardson, Callum Ainley (Billy Sass-Davies 85’), Dan Agyei, Eli King, Tariq Uwakwe. SUBS (not used): Dave Richards, Regan Griffiths, Oliver Finney, Khanya Leshabela, Charlie Finney, Joel Tabiner.
ATTENDANCE: 16,541 (439 from Crewe).
REFEREE: Sunny Sukhvir Gill.