The Bantams were beaten on the road by promotion-chasing Bristol Rovers, with a 2-1 defeat at The Memorial Stadium.
Mark Hughes suffered his first away defeat in charge of City in the West Country thanks to two second-half goals from the hosts, after Dion Pereira had given the visitors the lead.
Rovers enjoyed a bright start to the game, with a number of chances falling their way, the best of which came via Elliot Anderson who broke through the City defence but curled his effort wide.
Harry Anderson had the best chance of the half when he latched onto Aaron Collins’ driven cross at the back post, but his effort was turned wide.
Having been made to defend for large parts of the opening period, it was the Bantams who had a flying start to the second period and took the lead within a minute of the restart.
Andy Cook’s flick on unlocked space for Pereira who calmly turned his defender and slotted the ball past James Belshaw to open his City account and give his side the lead.
Moments later Cook attempted an audacious lob from 30 yards out but his effort sailed wide, as Hughes' men looked to widen their lead.
A sequence of chances for the home side were dealt with well by the Bantams' backline. Matty Foulds, Paudie O’Connor and Yann Songo’o threw their bodies in front of efforts to maintain the lead.
Sam Finley put the Gas on level terms just shy of the hour mark, however, as Rovers' pressure finally paid. The midfielder struck a thunderous effort from range past Alex Bass.
The hosts then took the lead and turned the game on its head shortly after when Connor Taylor turned a loose ball home after a dangerous free-kick.
Taylor’s goal proved decisive as City failed to find a response, condemning Mark Hughes to his first loss on the road.
ROVERS: James Belshaw; James Connolly, Sam Finley, Aaron Collins, Sam Nicholson (Leon Clarke 82’); Elliot Anderson, Paul Coutts ©, Connor Taylor, Harry Anderson; Trevor Clarke (booked 52’, Luke Thomas 69’), Luca Hoole. SUBS (not used): Jed Ward, Harvey Saunders, Cian Harries, Glenn Whelan, Ryan Loft.
GOALS: Sam Finley (58’), Connor Taylor (75’).
CITY: Alex Bass; Paudie O’Connor ©, Yann Songo’o, Andy Cook, Jamie Walker (Charles Vernam 45’); Alex Gilliead (Caolan Lavery 80’), Matty Foulds, Gareth Evans (Callum Cooke 69’), Elliot Watt (booked 70’); Luke Hendrie (booked 30’), Dion Pereira. SUBS (not used): Richard O’Donnell, Liam Ridehalgh, Fiacre Kelleher, Nathan Delfouneso.
GOALS: Dion Pereira (46’).
REFEREE: Neil Hair.
ATTENDANCE: 9,186 (including 447 City supporters).