City made it four pre-season wins out of four with a 3-1 triumph over Brighouse Town.
First-half goals from Oliver Crankshaw, Gareth Evans, and Kian Scales were enough for the Bantams to earn victory at the Yorkshire Payments Stadium.
After taking a while to grow into the game, City broke the deadlock with 20 minutes on the clock.
Charles Vernam drove at the home defence and saw his effort denied by the goalkeeper, however Crankshaw was on hand to tap the ball in from close range.
The visitors doubled their advantage when Vernam played in Evans, who produced a composed finish past the goalkeeper.
Just moments later, Crankshaw set up Scales - after escaping his defender - who slotted into the back of the net to put Derek Adams’ team in cruise control heading into the interval.
The Bantams almost added a fourth after the break when Crankshaw’s effort was parried into the path of Jorge Sikora - who blasted his effort over the crossbar with the goal gaping.
It was Abo Eisa’s turn to go close when he was played in by Scales, however his effort was kept out by the foot of Town goalkeeper Brett Souter.
City again nearly netted a fourth when Vernam played the ball to Crankshaw, who ran through and smashed his attempt against the post.
The hosts pulled a goal back right at the end when the ball fell to a triallst who struck his effort beyond City goalkeeper Sam Hornby.
However, this mattered little as the Bantams saw the game out to earn another pre-season victory.
CITY: Sam Hornby; Finn Cousin-Dawson, Fiacre Kelleher, Jorge Sikora, Matthew Foulds, Levi Sutton (Reece Staunton 71’); Gareth Evans, Abo Eisa, Charles Vernam, Kian Scales, Oliver Crankshaw. Subs (not used): Richard O’Donnell, Oscar Threlkeld, Liam Ridehalgh, Paudie O’Connor, Niall Canavan, Yann Songo’o, Lee Angol, Callum Cooke, Andy Cook, Alex Gillead.
GOALS: Oliver Crankshaw (20’), Gareth Evans (34’), Kian Scales (36’).
BRIGHOUSE: Brett Souter; Jack Tinker, Harrison Beeden, Harry Wilkinson, Sam Reed; Javelle Clarke, Tom Haigh ©, Elliot Harrison, TJ, Alhassane Kieta, Zeph Thomas. Subs: Jack Boyle, Shiraz Khan, Laurence Sorhaindo, Alex O’Conner, Morgan Butcher, Mossy Ciccarelli, Darius Smith, Tom Kirkland, Marshall Getty.
GOALS: Trialist (90’).