Cory Aston crossed for a try and kicked two goals as the Bulls edged the second half, after the rivals were locked 12-12 at the break.
Ross Peltier and Lee Smith also went over for Bradford, the Rams responding via Dom Speakman and Aaron Brown tries, Paul Sykes booting two goals.
It was a good day for the Aston household, Cory’s dad Mark seeing his Sheffield Eagles side beat Rochdale Hornets 26-22.
Matty Fozard grabbed two tries, while Garry Lo, Jack Owens and Perry Whiteley also crossed. Owens kicked two conversions, Menzie Yere tagging on one.
Batley Bulldogs suffered a disappointing 56-14 defeat at Toulouse on Saturday, consolation tries from Wayne Reittie, Bradley Hill and James Harrison, with Dominic Brambani adding one goal.
In League One, Keighley Cougars enjoyed a winning weekend, beating Workington Town 28-6 in their Super 8s match.
Cougars’ tries came from James Feather, Matthew Bailey, Liam Darville, Josh Tonks and Ritchie Hawkyard, Matty Beharrell kicking four goals.
Doncaster slipped to a 28-24 defeat to Newcastle Thunder, despite tries from Kyle Kesik, Jason Muranka, Jason Tali and Kieran Cross.
York City Knights lost 26-16 at Whitehaven. Ben Dent, Jonny Presley and David Foggin-Johnston crossed for York.
Hunslet thrashed Hemel Stags 60-16 in their Shield encounter yesterday.