City fell to their first home defeat since early December - with a 2-0 loss at the hands of Crawley Town.
A header in each half by Jordan Tunnicliffe and Joe McNerney were enough for the Red Devils to gain all three points at the Utilita Energy Stadium.
The hosts had a penalty appeal when Danny Rowe went down inside the 18-yard box in the early stages, however, the referee waved it away.
City went close to opening the scoring when the ball fell to Anthony O’Connor, but his left-footed effort missed the target.
The away side broke the deadlock with 20 minutes on the clock when Josh Wright’s cross from the right-hand side was headed in by Tunnicliffe.
It was the visitors’ turn to have a penalty shout when Finn Cousin-Dawson tangled with Nick Tsaroulla but, once again, the referee dismissed the appeal.
The West Yorkshire side went close to equalising when Gareth Evans’ shot was blocked and then Paudie O’Connor’s follow-up effort was denied by Reds goalkeeper Glenn Morris.
Mark Trueman and Conor Sellars’ team went close to levelling again when Paudie O’Connor’s ball found Rowe whose effort curled narrowly wide of the far post.
Archie Davies’ cross was headed over the crossbar by Sam Matthews as the away side threatened to double their advantage.
Rowe worked another opportunity for himself but once again he was unable to hit the target.
Elliott Watt’s effort from just outside the penalty area flew over the bar which meant the Bantams would be trailing heading into the interval.
City had the first chance of the second period when Charles Vernam’s dangerous cross was headed wide by Cousin-Dawson.
John Yems’ side went close when Davies cut inside and unleashed a left-footed effort which went over the top of Richard O’Donnell’s goal.
The Bantams went close equalising on the hour mark when Vernam broke into the area but had his left-footed shot saved by Morris.
The resulting corner fell to Anthony O’Connor whose shot was once again kept out by Morris.
The ball then fell to City substitute Andy Cook but his attempt just missed the target.
The hosts went close to salvaging a draw when Clayton Donaldson’s fierce volley struck the post, having been played through by Billy Clarke.
The Reds secured the triumph when Jack Powell’s free-kick was headed in by McNerney as the Bantams fell to their first defeat in five games.
CITY: Richard O’Donnell ©; Niall Canavan (Clayton Donaldson 46’, booked 86’), Paudie O’Connor, Anthony O’Connor; Connor Wood, Gareth Evans (Billy Clarke 63’), Elliott Watt, Finn-Cousin Dawson; Kian Scales (Levi Sutton 62’, booked 90’); Danny Rowe (Andy Cook 62’), Charles Vernam (Ollie Crankshaw 80’). Subs (not used): Sam Hornby, Jordan Stevens.
CRAWLEY: Glenn Morris; Joe McNerney, Jack Powell, Ashley Nadesan (Davide Rodari 82’); Tom Nichols ©, Jordan Tunnicliffe, Sam Matthews (Jake Hessenthaler 72’); Nicholas Tsaroulla; James Tilley, Josh Wright (booked 4’). Subs (not used): David Sesay, Rafiq Khaleel, Jordan Maguire-Drew, Stuart Nelson.
GOALS: Jordan Tunnicliffe (20’), Joe McNerny (86’).
REFEREE: Martin Coy (Durham).