Second-row Elliott Whitehead celebrated his 100th appearance for Bradford with a hard-fought victory over Salford.
The Bulls ran in four first-half tries from John Bateman, Jarrod Sammut, Adrian Purtell and Brett Kearney, all converted by Jamie Foster.
Salford staged a second-half revival with tries from Jack Murphy, Chris Nero and Andrew Dixon, added to Lee Gaskell's first-half effort.
But further tries from Jamie Langley and Sammut ensured a Bradford success.
Australian half-back Sammut's two tries - and two goals after taking over from four-goal Foster - took him to 209 career points, while Marc Sneyd kicked four out of four conversions for Salford.
The game was only given the go-ahead after a massive snow-clearing operation and a morning pitch inspection.
Victory consolidated Bradford's sixth place while Salford stay second bottom of the Super League table.
VIEW FROM THE DRESSING ROOM
Bradford coach Francis Cummins:
"We went a long time without the ball but that was all credit to Salford who picked themselves up well at half-time.
"You have to earn the right to play and we were perhaps a little bit naive during that spell.
"Eventually we went back to what we were doing in the first half and turned them around, trading set for set, and when we did that we looked really good.
"When we got to that situation the lights came on and we got our kicking game going again.
"If we find ourselves in that position again, next time I hope we can handle it a little bit better. They have worked really hard and I can't be disappointed."
Salford interim coach Alan Hunte:
"They handled the game smarter than we did in the first half - their kicking game through Jarrod Sammut and Danny Addy was outstanding whereas we had a couple of kicks that went close, but dead - and that relieved the pressure valve.
"Sammut and Addy were probably their most dangerous weapons.
"But I've got to commend my guys for their effort, especially in the second half. In reality I think it was a bit closer than the final score suggests.
"The pitch was like an ice rink when I came here on Saturday and the people behind the scenes have done a terrific job to get the game on."
Bradford: Kearney, Kear, Purtell, Lulia, Foster, Addy, Sammut, Langley (Sidlow 19), L'Estrange (O'Brien 70), Manuokafoa (Scruton 20), Bateman, Whitehead, Donaldson (Olbison 28).
Salford: Sneyd, Murphy, Okanga-Ajwang, Gaskell, Broughton, Fages, Foran, Griffin (Jewitt 20), Godwin (Owen 29), Neal (Walne 20), Ashurst, Dixon, Wild (Nero 29).
Referee: Tim Roby [RFL]