JAYDEN OKUNBOR'S late try sealed a second-half comeback and continued Bradford's hunt for top spot in the Championship.
The Bulls trailed Docaster 12-6 on the hour mark but late tries from Waqa Blake and Okunbor won the game for the home side.
There was plenty of feeling in the all-Yorkshire encounter, however, Jorge Taufua got his timing wrong and caught Logan Moy high as Doncaster looked to spread the ball wide early on.
From the following set, Doncaster, who were seeking their first win at Odsal since 1963, crossed for the opening try when Watson Boas picked the pocket of Taufua.
The Bradford centre came down with the ball following Connor Robinson's kick to the corner but the quick-thinking Boas stole it one-on-one and dived over. Robinson added the extras.
Bradford's best chance to level came just short of the half-hour mark when Matty Gee looked to have scored after crashing on to a ball from Tom Holmes, but the second-rower dropped the ball in the act of scoring.
Doncaster marched up field from the resulting set restart where Greg Burns sniped from dummy-half and Bradford were penalised for holding down in the ruck. Robinson made no mistake pushing Doncaster's lead out to eight points.
As half-time loomed, Joe Keyes touched down for Bradford, the halfback collecting a kick that found the floor, but play was brought back after it was deemed Mitch Souter took out Moy as he waited for the kick to come down.
Moments later, however, it did count for Keyes as he cut through the Doncaster line from close off the back of a penalty. Luke Hooley cut the visitors lead to just two at the break with his successful conversion.
After Doncaster began the second half strong, Souter broke clear to swing the game in Bradford's favour.
The Bulls forced a goalline drop out on the last but inexplicably allowed the resulting kick to bounce into touch inside their half.
Off the back of this error, Doncaster's halfback Ben Johnston ducked under an attempted tackle and dived over to cross for the first try of the second half.
Robinson's conversion hit the post, however, keeping Doncaster's lead to just one converted score.
Roared on by the home crowd, Bradford piled forward looking for a way back into the game and eventually, with 15 minutes to go, Waqa Blake forced his way over in the corner. Hooley remained ice cool, setting up a grandstand finish with his conversion from the touchline.
And shortly after, the Bulls hit the front for the first time in the match.
Keyes spread the Doncaster goalline defence with a searching run before finding Zac Fulton who shovelled the ball overhand to Okunbor unmarked on the touchline. Hooley, from almost the same spot as his last, drilled his conversion through the posts.
Doncaster fought to level the game late on but the Bulls held on for a crucial win.
GAMESTAR: Joe Keyes was a threat all night with ball in hand and had a say in all three of Bradford's scores.
GAMEBREAKER: Jayden Okunbor's late try in the corner put Bradford in the lead for the first time with twelve minutes to go and they held on for a crucial win.