City signed off their pre-season summer schedule with a comfortable 2-0 win over League Two Carlisle United at the Northern Commercials Stadium.
Second half goals from Filipe Morais and the returning James Hanson secured the win for Stuart McCall's men just one week ahead of their season opener against Port Vale.
Morais opened the scoring shortly after the break when he converted Mark Marshall's cross before turning provider later in the half to set-up Hanson to double City's advantage.
Along with Hanson, recent injury victim James Meredith also came back into the side for the visit of the Cumbrians, while recent signing Romain Vincelot was given his first outing in City colours.
The first opening of the match for City came in only the ninth minute when Hanson powered a header wide from Morais' teasing cross into the middle.
Carlisle tried to threaten from a number of set-pieces thereafter but City's defence managed to see them off with no real threat to Colin Doyle's goal.
The Bantams were temporarily down to ten men roughly through the first half when Nathan Clarke had to go off for stitches following a clash of heads with Carlisle striker Charlie Wyke.
Despite their numerical disadvantage, City nearly took the lead when Morais latched onto Mark Ellis' weak header back following Hanson's flick on.
Morais tried to poke the ball past the on-rushing Mark Gillespie but the goalkeeper was out quickly to block the shot.
City were still a man short when Nicky Adams snuck into space in the box for the visitors but Doyle was able to watch his downward header wide of the post following former Bantams loanee Jamie Devitt's cross into the box.
McCall's men returned to their full allocation of players just before the half hour mark when Clarke came back on pitch complete with white head bandage.
Shortly afterwards, one-time City trialist Reggie Lambe saw his shot from the edge of the area blocked before Danny Grainger fired a yard or so over from a free-kick outside the box a minute or so later.
At the other end, Marshall's hanging cross towards the far post was kept in play by Jordy Hiwula but Timothee Dieng could only scramble the ball wide from roughly eight yards out.
A couple of minutes before the break Morais had the ball in the net after side-footing the ball past Gillespie inside the box but the Portuguese attacker was correctly flagged offside.
Carlisle earned an early free-kick after the restart when Meredith fouled Lambe on the edge of the area but Grainger's angled drive direct from the set-piece was pushed away by Doyle.
City took the lead seven minutes into the second period when Marshall's low cross into the box eventually fell into the path of Morais and the attacker lashed home past Gillespie.
The Bantams double their advantage twelve minutes later when Morais turned provider, crossing for Hanson to send a downward header into the far bottom corner past a helpless Gillespie.
Although Morais and Hanson combined for the goal, Dieng should also take some credit for City's second after he superbly tracked down Adams and dispossessed the Carlisle attacker in a dangerous position to set up the attack.
Marshall tried his luck shortly afterwards when he cut inside from the left flank for a shooting opportunity but his strike from just outside the box was straight at Gillespie.
City made five changes with roughly twenty minutes to go, with the likes of Billy Clarke, Nicky Law and Paul Anderson all getting a run out.
Following McCall's alterations, Carlisle had a couple of opportunities to pull a goal back but Patrick Brough and Shaun Miller were both thwarted.
Young forward Reece Webb-Foster came on towards the end of the match for Hiwula, as City saw out the remaining minutes to finish off their pre-season programme of friendlies with a win.
1. Colin Doyle, 2. Tony McMahon, 3. James Meredith, 4. Romain Vincelot, 5. Nathan Clarke, 6. Nathaniel Knight-Percival, 7. Mark Marshall, 8. Timothee Dieng, 9. James Hanson, 10. Jordy Hiwula, 11. Filipe Morais
12. Rouven Sattelmaier, 14. Billy Clarke, 15. Nicky Law, 16. Paul Anderson, 17. Daniel Devine, 18. TRIALIST, 19. Reece Webb-Foster
TRIALIST for Meredith (69), Devine for Vincelot (69), Anderson for Marshall (69), B Clarke for Hanson (69), Law for Morais (69), Webb-Foster (83)
Morais (52), Hanson (64)