The Bantams secured victory in their opening Checkatrade Trophy group game over Stoke City thanks to Timothee Dieng's first half headed winner.
The versatile Frenchman, who featured at centre half following his appearance in midfield on Saturday, was in the right position to glance home Reece Webb-Foster's wide free-kick seven minutes before the break.
Returning skipper Stephen Darby played until shortly before ten minutes from time on his come-back appearance.
With City having used all three subs by this stage, Darby was removed from the action shortly after Stoke had gone down to ten men following a second yellow card for captain Lewis Banks.
Matthew Kilgallon was given the second period after coming on as a half-time sub, while Filipe Morais also managed to get some usual game-time under his belt.
Stoke's side at the Northern Commercials Stadium was made up largely from members of their Under 23s squad, although first-teamers Marc Muniesa and Charlie Adam did start.
The Potters tried a number of shots from distance throughout the match, with Adam as keen as any to try his luck from outside the area, but Rouven Sattelmaier on was hand to save any that came his way on his competitive debut for the club.
For City, along with the welcome sight of Darby and Kilgallon on the pitch, there was the chance for supporters to cast their eye over some of the club's younger players.
Apprentice duo Ellis Hudson and Kwame Boateng in particular didn't look out of place against Stoke's young hopefuls.
With Bury having defeated Morecambe 4-1 earlier in the night, City currently sit second in Northern Group C after match-day one following their victory over Stoke.
FT: Bradford City 1 Stoke City 0
90+3min: As City look to clear their lines from the resulting corner, Adam fires for goal from outside the area and his rising effort goes narrowly over the bar.
90+2min: The ball drops to Muniesa in the box following a Stoke cross into the area but his shot for goal on the half-volley is blocked behind by Kilgallon.
90min: The board to indicate the amount of minutes to be added on at the end of the match hasn't been introduced yet but we're in injury time at the end of the game now.
89min: SUB - Stoke bring on Thomas Edwards for Renee-Pringle.
84min: Adam fires in a crunching strike from just outside the box that whistles narrowly over Sattelmaier's bar.
81min: With the visitors pushed up, Daniel Devine's pass plays Webb-Foster into space in Stoke's half. Webb-Foster takes on last-man Edwards before firing in a shot from just outside the box that bounces wide of Isted's near post. In fairness to the young striker, he appeared to slip as he struck the ball.
79min: City are down to ten men now. Darby walks off the pitch on his come-back appearance. Given that Stoke have had a man sent off, hopefully the move is a planned one.
74min:YELLOW CARD = RED CARD - Banks is given his marching orders after collecting his second yellow card of the match. A delightful ball from deep by Dieng puts Hudson in behind Stoke's defences but his progress is halted when last-man Banks clips his legs just outside the box.
73min: SUB - The Bantams bring on Tom Windle for Morais.
72min: Webb-Foster tries to turn into shooting space from an angle inside the box but his eventual shot is blocked by Muniesa.
71min: Renee-Pringle crosses into the box, City clear their lines as far as the lurking Adam, who fires in a first-time volley that crashes into the sign at the top of the T L Dallas Stand behind Sattelmaier's goal.
71min: Webb-Foster looks to play Hiwula in on goal but his attempted pass forward takes a vital touch off Liam Edwards and through to Isted.
70min: Verlinden's rising strike from outside the area goes over Sattelmaier's bar.
67min: Verlinden's low angled drive from inside the box is held by his near post by Sattelmaier.
67min: Knight-Percival's teasing cross into the six yard box nearly drops quickly into the path of Hiwula but the loanee striker can't quite get his feet into a position to shoot for goal and Stoke can clear.
63min: Chances at both ends within a minute. Hiwula has a run towards the edge of the area, he tries to play Webb-Foster in with a clear shooting sight of goal in the box but his under-hit pass is cleared by Muniesa. At the other end, Shenton's low cross into the box eventually drops at the feet of Johnville Renee-Pringle. The Stoke man moves past Knight-Percival and into a shooting position but he is dispossessed at the vital moment via a well-timed tackle from a recovering Hudson.
62min: YELLOW CARD - Lewis Banks is booked for a late tackle on Hudson inside Stoke's half of the pitch.
61min: Webb-Foster's low curling effort direct from a free-kick roughly twenty-five yards is held by Isted at the second attempt.
60min: Verlinden's forward pass is neatly flicked into the box by Marc Muniesa but Dieng is in the right position to hold off Ngoy and prevent the striker from having a sight of Sattlemaier's goal as the German 'keeper dives on the ball.
47min: Morais drives forward on City's right flank before cutting in-field onto his left foot and firing in a shot from just outside the area that is held by Isted.
46min: Stoke restart the match.
HT SUB - As planned pre-match, Matthew Kilgallon comes on at half time. He replaces James Meredith, meaning Nathaniel Knight-Percival will move to left back.
HT: Bradford City 1 Stoke City 0
45+2min: Adam looks up and tries to catch out Sattelmaier with an effort from just inside City's half but the ambitious effort sails harmlessly wide of the German's goal.
45min: There will be two minutes of time added on at the end of the first half.
45min: Shenton evades two City challenges before firing in a low strike from the edge of the area that is held by Sattelmaier.
44min: Shenton's fierce strike from outside the area is pushed behind for a corner by a diving Sattelmaier, who flings himself up to his right to make an acrobatic save.
43min: Adam fires in a powerful drive from just outside the box that Sattelmaier pushes up and away before collecting the loose ball himself just inside the area under no pressure.
38min: GOAL!!!!!!!!!!!!!!! Bradford City 1 Stoke City 0 - The Bantams take the lead through Dieng! From Webb-Foster's free-kick from the left into the box, Dieng times his run to perfection to glance a header into the far bottom corner past Isted's dive.
36min: Verlinden takes aim from outside the area but his curling effort is tipped over the bar by Sattelmaier when it looked destined for the top corner.
34min: Adam tries to fire a free-kick from just outside the box under the wall but the effort hits a City leg and deflects clear.
33min: SUB - The Bantams bring on Ellis Hudson for Rabiega. Unfortunately for Rabiega, it appears that the young Polish striker has picked up an injury while trying to clear the ball just outside City's penalty area. He hobbles off with what appears to be an impact injury.
29min: Eddy Lecygne fires for goal from just outside the box as the ball breaks into his path. Lecygne's shot takes a deflection off Shenton, leaving Sattelmaier wrong-footed, but the ball bounces wide of the far post.
25min: Shenton's pass forward looks to get Ngoy through on goal inside the box but Timothee Dieng shows enough strength to hold off the Stoke attacker and allow Sattelmaier to dive on the ball.
11min: Collecting Morais' pass, Jordy Hiwula bursts into space in Stoke's half, past Joel Taylor and then into the Potters' penalty area. With Webb-Foster in space also in the box, Hiwula elects to shoot himself but his weak left-footed effort is blocked away.
10min: Stoke work a short corner from the resulting set-piece, Adam whips a dangerous delivery towards the far post but a watchful Darby is in the right place to head behind and prevent Thibaud Verlinden from potentially swooping in from close range.
10min: A superb save from Sattelmaier denies Adam! After Oliver Shenton sees an effort blocked from outside the box, the ball drops back to Adam roughly thirty yards from goal and the Scotsman lets fly with a brilliant first-time volley that Sattelmaier has to tip over.
9min: Webb-Foster and Morais work a short free-kick from outside the area, with the latter shooting on the turn and firing in a low drive that Isted collects on the bounce.
7min: Julien Ngoy shows great pace to get away from Timothee Dieng and then Nathaniel Knight-Percival to find himself inside City's penalty area and one-on-one with Sattelmaier. Ngoy tries to fire low past the German shot-stopper but he makes a smart save with his legs.
6min: Charlie Adam takes aim from outside the area but Rouven Sattelmaier is able to watch the rising drive over his bar.
3min: Harry Isted struggles to deal with Filipe Morais' delivery from the resulting corner. His attempted punch clear drops down into the heart of the Stoke City penalty area but the visitors eventually clear their lines.
3min: City come within mere inches of taking the lead! Reece Webb-Foster has the ball at his feet following Vincent Rabiega's flick on from Stephen Darby's throw into the box. Webb-Foster turns and shoots for goal from a tight angle, the ball looks set to roll into the bottom corner but it takes a slight deflection on its way narrowly past the far post.
0min: The Bantams kick off the match. They will attack towards the T L Dallas Stand end in the first half.
BRADFORD CITY LINE UP:
Sattelmaier, Darby, Dieng, Knight-Percival, Meredith, Morais, Boateng, Devine, Rabiega, Webb-Foster, Hiwula
Subs: Doyle, Kilgallon, Hudson, Payne, Windle
Bradford City substitutions:
Hudson for Rabiega (33), Kilgallon for Meredith (46), Windle for Morais (73)
STOKE CITY LINE UP:
Istead, Muniesa, Banks, Renee-Pringle, Lecygne, L Edwards, Verlinden, Adam, Ngoy, Shenton, Taylor
Subs: Deczki, Molina, Sweeney, T Edwards, Greenidge
Stoke City substitutions:
T Edwards for Renee-Pringle (89)
Stoke City cautions:
Banks (62, 74)
Stoke City dismissals:
Referee: M Salisbury
Assistant Referee: P Gooch
Assistant Referee: D Plowright
Fourth Official: R Atkin