Harlequins leapfrogged the Dragons into Super League's play-off places after collecting their second win in the south of France in 10 days.
Australian half-back Mark McLinden scored a brace of tries as the Londoners followed up their 64-8 Challenge Cup win over Pia with an even more impressive victory over their in-form neighbours at the Gilbert Brutus Stadium in Perpignan.
Brian McDermott's men dominated the first of four meetings with the Frenchmen this season to bring to an end the Dragons' four-match winning run and displace them from sixth place in the table.
Boosted by the return of tough-tackling second rower Lee Hopkins, Harlequins got off to a dream start with a try after only three minutes from winger Jon Wells.
Henry Paul missed the conversion but went on to find the mark with seven other kicks at goal to finish with a personal haul of 14 points.
Winger Thomas Bosc grabbed his sixth try of the season to level the scores and edged the Dragons in front with the conversion but their lead was short-lived.
Two tries in a seven-minute spell midway through the first half from hooker Chad Randall and scrum-half Danny Orr put the visitors in firm control as they established an 18-6 lead.
When McLinden went over for his first try three minutes before half-time, there was no way back for the Catalans.
Winger Dimitri Pelo pulled a try back early in the second half but former Catalans scrum-half Julien Rinaldi restored Harlequins' 18-point lead with his third try for the club.
Dragons prop Adel Fellous, back from injury, scored his first Super League try of the season on 73 minutes and Bosc kicked his second goal but McLinden then grabbed his second as the Londoners finished on top.