Stoke's youngsters battled to earn their side first win since returning to Division One, but had to survive some intense second-half pressure and Bradford looked to salvage something from a game it seemed they had thrown away.
And Stoke could thank keeper Gary Walsh for their first goal when in was caught in possession as he tried to dribble the ball across his own goalmouth.
He had collected a back pass from Lewis Emanuel, but before he could clear striker Andy Cooke dived in to knock the ball off the keeper's foot and into an empty net.
Bradford striker Ashley Ward should have levelled midway through the first half when he got to a cross from Paul Evans but sent his header wide.
Minutes later Andy Tod wasted a good chance after on running on to a long clearance, but fired his shot straight at keeper Neil Cutler.
Stoke added a second in 33rd minute when a free kick from Kris Commons was deflected off Emanuel to the far post and Petur Marteinsson launched himself at the ball to head home.
After the interval Bradford dominated for long periods as they attempted to get themselves back into the game.
In the 58th minute Emanuel forced his way past full-back Brian Wilson but his shot was superbly saved by keeper Cutler.
Stoke hit back with Clive Clarke crossing for striker Cooke but he headed over from 10 yards.
Bradford were enraged when substitute Danny Cadamarteri had a goal disallowed in the 66th minute after he had got to a cross from Andy Myers.
Minutes later Peter Atherton fired just over from 25 yards after he had got to a half clearance.
Bradford grabbed a goal in the 90th minute when Tom Kearney chipped the ball over the Stoke defence for Andy Gray who drilled it into the bottom corner.
Stoke boss Steve Cotterill said: "I can only praise the lads for their effort, application and attitude towards everything. They have been first class."
"I am delighted with the young players but have to commend the more senior members of the side, it has been very much a team effort."
Bradford manager Nicky Law added: "You can't give goals away like we did and expect to win the game. We created six or seven good chances but could not put them away. We beat ourselves. They are an average team but work hard.
"It would be too easy to say it was all Gary Walsh's fault. Nothing can make him feel worse than he does right know. I was raging when our first goal was disallowed."