A late drop goal by Paul Deacon helped rescue a point for Bradford against a determined Widnes side.
Bradford (0) 25
Tries: Deacon, Paul 2, Radford
Goals: Deacon 4
Widnes (13) 25
Tries: Hulse, Connolly, Craigie, Emelio
Goals: J O'Neill 4
Drops: J O'Neill
The visitors, who led 13-0 at the break, had looked on course for victory when an Andrew Emelio try gave them a 25-24 advantage late on.
But Jules O'Neill missed the extras and Deacon kept cool to send his last-gasp kick over the bar for a draw
Bradford had got back into contention thanks to two second-half tries from Robbie Paul and one from Lee Radford.
Although the Bulls began the stronger with Karl Pryce almost going over early on, it was Widnes who went on the counter-attack to take the lead.
Captain Shane Millard burst through from midfield and found Gary Hulse who raced clear of the Bradford defence to score.
O'Neill converted the try to hand his side a 6-0 advantage and just before the half-hour, Gary Connolly stole the ball in the tackle and ran from 70 metres to score his side's second.
Again, O'Neill added the goal, and kicked a drop-goal just before the interval to put his side well in control.
They added another try just after the break through Owen Craigie but Deacon went over for a try on 56 minutes to give his side hope.
O'Neill increased his side's advantage further with a penalty but Robbie Paul's 70th minute try sparked the fightback.
Emelio's late try looked to have clinched it for Bradford before Deacon's late drop-goal ensured the honours were shared.
But Bradford coach Brian Noble was furious at the performance of referee Steve Ganson.
"Fans have paid good money to see an even contest and I don't think they saw one," he said after Bradford were not given a penalty until the 67th minute.
"I'm furious. It's an issue that's ongoing, but nobody is blind and you couldn't not see those things.
"You don't have to be an ardent rugby league fan to be able to see there was strange things going on out there."
Widnes coach Frank Endacott took great heart from his side's performance.
"Just coming here and getting a point is good for us, but to get two would have been fantastic," he said.
"I've said right from the start that we're not going down. I'm not worried about anyone else and if we keep winning, that's all we can do.
"If we have do that, we have a fair chance of survival but I think the referee had a good game."
Bradford: Withers, Reardon, B. Harris, Langley, K. Pryce, I. Harris, Deacon, Vagana, Pratt, Fielden, Peacock, Parker, Radford. Replacements: Cook, Ferres, Lynch, Paul.
Widnes: Hulse, Emelio, Connolly, Fa-alogo, Viane, J. O'Neill, Craigie, O'Connor, Millard, Stankevitch, Cassidy, Whitaker, Frame. Replacements: Myler, Mills, J. O'Neill, Smith.
Referee: Steve Ganson (St Helens).