Leaders St Helens have won their last 41 home games against Salford and Paul Wellens' side's blistering start suggested they would not relinquish that record.
Jack Welsby, Dodd and Percival scored in the opening 40 minutes, with Cross scoring the visitors' only try of the first half.
The key moment of the match came in the 44th minute, when Percival's late attack on Ormondroyd resulted in referee Tom Grant being sent off.
Dodds' second try scored nearly an hour after Salford had been penalized for a forward pass, giving Saints a 14-point lead and putting them on track for a 100% start to the Super League season.
However, the Red Devils found some faith and took advantage of their 12 opponents becoming tired. McDonald sparked a comeback for the visitors with a fine finish, before Atkin cut the gap to two points thanks to Mark Snead's perfect kick from the tee.
Cross's second try was slotted into the right corner and it seemed inevitable to give Paul Lawrie's side the lead.
Despite late pressure from Saints, Salford held on and recorded a memorable win, their third of the Super League season.
St Helens manager Paul Wellens:
“Obviously I'm disappointed with the result, especially after the start.
“In the beginning it looked as if only one team was going to win this game and we had Salford where we needed them.
“But small things can become big things if you don't get it right. When you get to 12 points, we should have gone on to win the game. That's what we've done in the past.
“We need to look more thoroughly at red cards. We have to accept that the game is going in a certain direction this season. I hope we see consistency. If it's a red card… , next week must also be a red card.
“But we lost the game because we deserved to have lost. I can't fault the group in terms of effort, but we just didn't come up with the right plays when we needed to.”
Salford coach Paul Lawrie:
“I'm very happy to come here and break a record like this. We always expect to win games as a group, but I have great respect for this great club. It shows how dedicated they are.”
“Our boys' character and commitment to the cause has been great all season. We deserved the win and I'm so proud of the players and staff. The supporters were fantastic. They seized the moment.”
“I thought if we were more calm and took our chances, we could have won by 10 points.The try by Saints right after we went down to 12 men was painful.
“We got some wild calls, but this group never panicked and stayed calm. We didn't lose our way in the face of adversity. We need to be better.
“St Helens are a very good, physical and attacking team. If we want to come here and get anything out of the game, we have to get better. We know this game will go all the way. And I'm proud of the way we played this game.'' We remained calm in the face of death. ”
St Helens: Wellsby, Makinson, Blake, Percival, Bennison, Lomax, Dodd, Walmsley, Clark, Matautia, Whitley, Sironen, Knowles.
Interchange: Mubai, Bell, Wingfield, Delaney
Salford: Brierley, Hankinson, MacDonald, Lafay, Cross, Cust, Snead, Ormondroyd, Boulou, Singleton, Stone, Watkins, Shorrocks.
Interchange: Atkin, Vuniyayawa, Wright, Hellewell
Referee: tom grant