The Bantams were made to settle for a point at the Utilita Energy Stadium, being held to a goalless draw by Colchester United.
Both teams had opportunities to break the deadlock, but neither proved able to take advantage - as the two played out their third 0-0 draw in four meetings.
The first chance of the game fell to Alex Gilliead on the edge of the penalty area, as City dominated the opening 45 minutes, but his effort was denied by goalkeeper Jake Turner.
The ball then fell kindly to Lee Angol whose half-volley just inside the 18-yard box was pushed away.
The visitors’ first meaningful strike at goal came when the ball fell to Alan Judge, but his left-footed attempt flew harmlessly over the crossbar.
Derek Adams’ side had another opportunity to hit the front when Gilliead burst into the box before picking out Theo Robinson, who had his effort blocked by Luke Chambers.
City’s push for an opener continued when Robinson’s half-volley was once again kept out by the U’s’ keeper.
Liam Ridehalgh then put in a dangerous cross from the left-hand side which was put wide by Yann Songo’o on the stretch, as the game remained goalless heading into the interval.
Hayden Mullins’ side had a chance to open the scoring early on in the second period when Brendan Wiredu played in Judge who was denied by City keeper Sam Hornby, before Armando Dobra stuck the rebound over the bar.
Charlie Daniels’ free-kick found the head of Tommy Smith whose glancing effort drifted just wide of the goal.
The Essex-based outfit went close to finding a late winner when Cole Skuse’s left-footed curling shot went narrowly past the post.
United then had another chance to find a breakthrough the ball was played through to Freddie Sears who was just about stopped from running through on goal by an onrushing Hornby.
The hosts had one final opportunity of their own when Elliot Watt’s crossfield pass found Angol who ran towards goal at pace.
The City frontman worked himself a good opening to snatch the points in the 92nd minute, but struck his effort off target - confirming the encounter ended all square.
CITY: Sam Hornby; Oscar Threlkeld, Paudie O’Connor, Niall Canavan ©, Liam Ridehalgh; Yann Songo’o (Gareth Evans 77’), Elliot Watt (booked 85’), Levi Sutton, Alex Gilliead (Caolan Lavery 83’); Lee Angol, Theo Robinson (Callum Cooke 63’). SUBS (not used): Richard O’Donnell (GK), Finn Cousin-Dawson, Fiacre Kelleher, Matthew Foulds.
COLCHESTER: Jake Turner; Junior Tchamadeu, Luke Chambers, Tommy Smith © (booked 87’), Charlie Daniels; Cole Skuse, Noah Chilvers (booked 77’), Sylvester Jasper (Brendan Wiredu 41’), Alan Judge (Luke Hannant 79’); Armando Dobra (Cameron Coxe 79’), Freddie Sears. SUBS (not used): Dean Gerken, Shawn McCoulsky, Samson Tovide, Frankie Terry.
REFEREE: Marc Edwards.
ATTENDANCE: 14,658 (including 113 Colchester supporters).