Stuart Littler bagged Salford's opening try on 19 minutes and added a second from Andrew Dunemann's pass early in the second half.
Andrew Brocklehurst's late third try made the scoreline a bit more comfortable for the home side.
Bruno Verges nearly scored late on but the Reds held on for a clean sheet.
Dragons assistant coach Paul Donkin: "It is pretty disappointing. We have come full circle from last week.
"We were upbeat and excited - but now we are down in the dumps.
"We will go back and assess it and come back better."
Salford: Wilshere, Langi, Littler, Moule, Hodgson, Dunemann, Fitzpatrick, Coley, Alker, Highton, Brocklehurst, Sibbit, Finnigan.
Replacements: Clough, Haggerty, Rutgerson, Stewart.
Catalans Dragons: Frayssinous, Murphy, Wilson, Hughes, Verges, Rudder, Jones, Beattie, Rinaldi, Fellous, Fakir, Guisset, Hindmarsh.
Replacements: Guigue, Mounis, Touxagas, Chan.
Referee: P Bentham (Warrington)