The French side took the lead when John Wilson crossed early on, but unanswered tries from Fitzpatrick (2), Moule and Andy Coley put Salford 20-6 up.
The Dragons somehow regained the lead through Alex Chan and Mark Hughes (2).
But Simon Finnigan scored and a further try from Moule late on ended the hosts' resistance to send Salford fourth.
Salford City Reds coach Karl Harrison:
"We really had to tough it out. We picked up a lot of injuries and Catalans played really well.
"So I'm delighted to be going away with the two points. It was a performance of true grit and desire from us."
Catalans Dragons: Bosc, Murphy, Wilson, Hughes, Verges, Rudder, Dobson, Chan, Rinaldi, Guisset, Fakir, Hindmarsh, Mounis, Fellous.
Replacements: Beattie for Chan (17), Berthezene for Rinaldi (29), Fellous for Guisset (26), Teixido for Fakir (32), Chan for Fellous (35).
Salford: Fitzpatrick, Hodgson, Littler, Moule, Wilshere, Dunemann, Robinson, Baldwin, Alker, Highton, Coley, Brocklehurst, Finnigan.
Replacements: Langi for Hodgson (53).
Not used: Haggerty, Clough, Clayton.
Att: 6,547
Ref: P Bentham (Warrington).