Bradford missed the chance to go second in the engage Super League as Hull KR held on for a hard-earned 20-18 win at Craven Park.
Tries from Clint Newton and Ben Cockayne gave Rovers an advantage they held in spite of heavy pressure in the second half.
Peter Fox and Semi Tadulala had traded tries in the opening minutes but the game was to prove a tight one with numerous errors and penalties on both sides.
Paul Cooke had a strong game for Rovers and landed four goals while Paul Sykes and David Solomona also crossed the Bulls.
Rovers made a blistering start with Fox claiming the opening try with just two minutes on the clock.
Cooke played a full part in the build-up before Ben Fisher delicately kicked to the corner and Fox slid past Tadulala to touch down.
Tadulala made amends for his failure to stop Fox with a try at the other end just moments later, ironically this time after an error by the Rovers winger.
Fox had barely finished celebrating his try when, after Cooke's touchline conversion, he spilled the ensuing kick-off.
The Bulls quickly recycled the ball from the resulting scrum and Ben Jeffries put Tadulala over in the corner with a long pass. With Iestyn Harris replicating Cooke's effort from out wide, the match was all square again with barely five minutes gone.
Rovers should have reclaimed the lead when Cooke's well-weighted kick was seized by Cockayne by the posts but the Rovers centre failed to keep control.
But Cooke was not to be denied and edged the hosts back in front with a penalty soon after and then set up Clint Newton for Rovers' second.
Newton took Cooke's reverse pass in his stride and spun through a tackle from Dave Halley to score.
Cooke made it 14-6 with another goal but Bradford missed the chance to claw points back before the break when a Wayne Godwin kick proved too strong for James Evans.
A series of penalties offered the Bulls a potential route back into the game early in the second half but they were unable to capitalise with Sykes and Chris Nero both squandering good possession.
Rovers weathered the storm and a penalty for a high tackle by Terry Newton - in his first game back from suspension - gave them breathing space.
James Webster was held up over the line as Rovers pushed forward but Cooke piled on the pressure for the Bulls with another fine kick for Cockayne to score a converted try.
Yet despite a healthy advantage, Rovers were made to sweat when Clint Newton was sent to the sin-bin for a late challenge on Jeffries.
The Bulls made the most of the opportunity with Sykes crashing over from a Terry Newton pass and Harris adding the extra two.
When Sykes scored the Bulls still had 18 minutes to remedy the situation but it was not until the last minute when Solomona breached the line again and, despite another Harris goal, it was just too late.