Salford winger Jodie Broughton ended the Reds' three-game losing run with a late try to seal a draw with Bradford.
Bradford led at the break through Karl Pryce's brace and Luke Gale's goal, while Adam Sidlow and Daniel Holdsworth responded for the hosts.
Danny Williams scored twice after half-time, either side of Pryce's hat-trick score to restore the Reds' lead.
Tom Burgess's touchdown looked to have won it for the Bulls, before Broughton's effort ensured parity.
Bradford went into the clash having triumphed in 22 of their 29 Super League meetings against Salford, who won 38-18 at Odsal in March.
Mick Potter was forced to juggle with his team selection given the absence of the suspended John Bateman and Andy Purtell, while Jarrod Sammut, Chev Walker, Nick Scruton and Brett Kearney were all injured.
The hosts were in a similar position, with forwards Shannon McPherson, Ben Gledhill, Jordan James, Vinnie Anderson and Wayne Godwin all ruled out.
However, they made a bright start, when prop Sidlow ploughed over for his first try since last June, Holdsworth adding conversion.
Pryce powered over in the corner to come within two after Luke Gale missed a conversion, notching a second try in three minutes from a looping Gale pass.
This time Gale made no mistake with the goal attempt to give the visitors the lead on the hooter.
After the break Holdsworth and Sean Gleeson combined for Williams to squeeze over in the corner and make it 10-10, but the Bulls hit back immediately, Pryce completing his hat-trick after Ben Jeffries' kick bounced kindly.
As the pendulum again swung the hosts' way, Gleeson's smart flick pass put Williams over for his second try after 55 minutes, Holdsworth's conversion edging the Reds in front, 16-14.
Burgess's controversial try nine minutes from time looked like a telling score, as Shaun Ainscough looked yards offside when he collected Jeffries' kick to put Burgess over and Gale converted to make it 20-16.
Referee Richard Silverwood allowed the try to stand, to Salford's fury, but Broughton struck back after Oliver Elima was sin-binned.
Salford coach Phil Veivers:
"To say it was offside is the biggest understatement of the year. The players say the touch judge called offside and the ref didn't give it, which makes one wonder. I thought we were playing Aussie rules at one spell.
"Conditions didn't help either side with persistent rain and a gale-force wind. Our completion rate was 82% in the first half but then we made two errors which led to tries.
"We got in an arm wrestle in the second half but Luke Patten did well after taking a knock on the ankle early on, He carried the ball strongly from the back and Danny Williams took his tries well."
Bradford coach Mick Potter:
"We came up with some pretty poor decisions in defence but Salford are probably saying the same.
"I'm not satisfied with our performance and we weren't smart enough at the right time.
"Oliver Elima's sin-binning was a pretty tough call but I didn't think Tom Burgess' try was offside. The ball was in the air three or four seconds and Shaun got there quickly."
Salford: Patten; Broughton, Moon, Gleeson, Williams; Holdsworth, Smith; Jewitt, Howarth, Sidlow, Ashurst, Adamson, Wild.
Replacements: Owen, Paleaaesina, Boyle, Nero.
Bradford: Kear; Pryce, Platt, Lulia, Ainscough; Jeffries, Gale; Kopczak, Diskin, Hargreaves, Elima, Whitehead, Langley.
Replacements: L'Estrange, Addy, Manuokafoa, Burgess.
Referee: Richard Silverwood (Dewsbury).