Trailing 14-10, the pressure was on following away wins for title rivals York and Toulouse earlier in the weekend.
But led by the magnificent Luke Hooley, they finally broke the Vikings’ resistance in the final 10 minutes to claim a 28-16 win which keeps them just two points off top spot with six games to go.
Bulls put on some good early pressure through Jordan Lilley and Tom Holmes, but it was Widnes who found the breakthrough.
Joe Edge broke to the halfway line and while he was tackled by Luke Hooley, it gave the home side good territory.
On the last, a gorgeous little kick from Dec Patton was offloaded brilliantly on the 10-metre line by Ben Condon to Dan Murray, the prop crashing over.
Will Roberts added the extras to put the hosts 6-0 up, before Bulls almost hit back immediately.
Zac Fulton pounced upon an error on the halfway line and broke 50 metres, where he was half-stopped then taken out by a high tackle.
Zac Fulton showed his attacking prowess with this searing break in the first half, and he was not to be denied later on. (Image: Tom Pearson)
A knock-on from Hooley off the back of the penalty meant they wasted their best opportunity of the game up to that point, but the full back soon made up for that.
He claimed an excellent high ball from Patton amid a fierce chase, then used his momentum to sprint up to halfway.
Widnes were struggling to get the numbers back, and Holmes picked up the baton and sprinted home from the halfway line, outpacing Edge with a diagonal run to go over by the posts.
Lilley knocked the kick through the posts to level the scores after 15 minutes of play.
Bulls were immediately back on the attack, only for an awful pass by Waqa Blake to end the move and instead, Widnes scored next.
Off the back of a penalty, the Vikings advanced up the field, and when a gap opened up on the inside right channel, Condon needed no invitation to stroll into it via an offload and score.
Roberts added the extras to take his side 12-6 in front just beyond the halfway mark of the first half.
Bulls fell further behind when Patton’s kick got caught in the wind and only Rhys Williams seemed to read it.
He caught the ball, fed it back to Nick Gregson, and the loose forward was hit by a high tackle, allowing Roberts to send an easy penalty kick through the posts.
A trip on Kieran Gill gave Bradford a penalty close in, but after the centre was held up over thew line, Holmes’ Hollywood pass to Jayden Okunbor was juggled by the winger then dropped.
Both sides conceded a cheap penalty apiece having done the hard work in pinning the opposition back.
And Bulls made the most of their gift, working play from left to right, Holmes guiding the way.
It was Hooley who made the decisive pass to Okunbor, the winger stepping inside and dotting down over the line.
Hooley took a clout to the head, so he was assessed and Lilley came back on for him to take the kick.
But he missed it well wide to the right, the hooter going for half-time moments later with Bulls 14-10 behind.
Joe Keyes might have been a better option to take that conversion on the hooter, given Jordan Lilley was coming back into the action cold. (Image: Tom Pearson)
Okunbor gifted Widnes cheap possession right at the start of the second half with a knock on deep in his own half, but Bulls powered their hosts out of play off the back of the scrum, which seemed to inspire them.
Mitch Souter did brilliantly to collect Joe Keyes’ charged down kick on the halfway line, and from that set, a fully-recovered Hooley broke the defensive line.
He kept his cool to feed Fulton on his inside, who strolled over to put the ball down by the posts.
Brian Noble spoke highly of how his bench performed this afternoon, with the likes of Mitch Souter and Ronan Michael coming on to make a difference. (Image: Tom Pearson)
Hooley’s conversion gave Bradford the lead for the first time all afternoon, but Widnes levelled the scores just before the hour mark.
Bulls allowed Edge to sprint to the halfway line and though Fulton brought him down eventually, the visitors were penalised for offside seconds later.
Roberts went for the two-pointer and cracked it through the posts to make it 16-16.
Blake was lucky to avoid punishment for what appeared to be a blatant high tackle on Patton and Hooley ensured Bulls survived that set.
They put on some attacking pressure of their own for the next few minutes, but Souter and then Keyes wasted possession close in.
A great defensive set forced Patton into an error a few metres out before Bulls went back in front with 10 minutes to go.
An outstanding ball strip from Blake off the back of Hooley’s high kick put Bulls in a great position.
And with Widnes defence in disarray, Hooley had options on the left, only to not use any of them, instead throwing an outrageous dummy to go over by the posts for a converted try.
Luke Hooley deserved his late try after a magnificent performance which had seen him provide assists so both Jayden Okunbor and Zac Fulton could score. (Image: Tom Pearson)
Hooley plunged on a loose ball brilliantly after a dangerous couple of grubbers through, but Widnes’ race was finally run with three minutes to go.
Taking risks, Matt Fleming’s pass out to the left edge was intercepted on the halfway line by Okunbor, who got his legs pumping and just had the pace to go over in the right corner.
The absolutely superb Hooley put the icing on the cake of his own individual performance by nailing the conversion.
Eribe Doro almost scored at the death after blasting through from the halfway line, but that near-miss will be a mere footnote to an afternoon where Bulls claimed what could be a huge two points.
WIDNES: Edge, Butt, Roberts, Fleming, Williams, Patton, Roberts, Murray, Johnstone, Bent, Condon, Lawton, Gregson. Interchanges: McWhirter, Fozard, Bennion, McKinney. 18th man: Irwin.
BULLS: Hooley, Okunbor, Blake, Gill, Armitage, Keyes, Holmes, Bayliss, Lilley, Mason, Fulton, Gee, Doro. Interchanges: Scurr, Souter, Hallas, Michael. 18th man: Meadows.
Bulls Man of Match: Luke Hooley