Three second-half goals gave Bradford a vital win over fellow strugglers Stoke.
Late goals from Claus Jorgensen and Andy Gray gave Bradford the points, and just a second win in 10 league matches.
The Potters made the early running and deservedly took the lead when Petur Marteinsson drilled home a Iwelumo flick on from close range.
Bradford responded well to the early setback, and were gifted the perfect chance to level on 19 minutes.
Bright start
Sergey Shtanuk's poorly-timed tackle on Bantams defender Robert Molenaar left referee Graham Laws no option but to award a spot kick, which Gray dispatched.
Stoke regained the lead three minutes later through a clever goal from Karl Henry.
The young midfielder produced a superb overhead kick from close range after a fine cross from Lewis Neal.
Dramatic
Gray fired wide from inside the area and Andy Tod smashed a volley over the bar from inside the six-yard box as Bradford sought an equaliser.
Stoke started the second period brightly, and Hall tested Davison from 25 yards.
The Bantams equalised for a second time on 67 minutes, thanks to a slice of luck.
Gray and Handyside went for the ball, and the unfortunate Stoke defender steered the ball into his own net.
Bradford burst into life and took a dramatic lead two minutes after levelling when Danish winger Jorgensen headed home Wayne Jacobs' cross.
Gray made the points safe when he drilled home a fourth a minute from time.
Bradford: Davison, Jacobs, Bower, Molenaar, Emanuel, Jorgensen, Lawrence, Atherton, Uhlenbeek, Tod, Gray. Subs: Myhill, Evans, Francis, Juanjo, Standing.
Stoke: Banks, Thomas, Handyside, Shtanuk, Marcus Hall, Henry, O'Connor, Marteinsson, Neal, Greenacre, Iwelumo. Subs: Cutler, Gudjonsson, Hoekstra, Goodfellow, Vandeurzen.
Referee: G Laws (Tyne & Wear).