Bradford (18) 30
Tries: St Hilaire (2), Ferres, Vainikolo (2)
Goals: Deacon (5) Catalans (10) 16
Tries: Chan, Verges, Mounis
Goals: Jones (2)
Leslie Vainikolo and Marcus St Hilaire each bagged a brace for the Bulls as they were made to fight for victory by a brave Catalans side.
Alex Chan gave the Dragons a brief lead before St Hilaire levelled, only for Bruno Verges to run in from long range and restore the visitors' advantage.
Brett Ferres and Vainikolo ensured the Bulls lead at the break, with St Hilaire adding to it after the restart.
Another Vainikolo try and five goals by Paul Deacon finished off the scoring.
Bradford coach Steve McNamara: "Last week we were delighted with the performance but didn't get the result, this week we're far from happy with how we played but got the result," he said.
"They know the difference between the good feeling and the bad feeling.
"Even though we got two points, we are not celebrating because we know we have to play better. And we will."
Catalans coach Mick Potter: "You are never happy with losing but we have improved over the last couple of games.
"We showed some resilience out there. We've had a lot of points against us this season and that is something we are looking at all the time.
"We've done okay in our first year but we are not satisfied with where we are. We don't want to finish at the bottom."
Bradford: Withers, Vainikolo, Hape, B. Harris, St Hilaire, I. Harris, Deacon, Meyers, Newton, Lynch, McKenna, Ferres, Langley. Replacements: Vagana, Henderson, Burgess, Smith.
Catalans: Guigue, Murphy, Wilson, Hughes, Verges, Rudder, Jones, Beattie, Berthezene, Chan, Guisset, Hindmarsh, Mounis. Replacements: Fakir, Casty, Rinaldi, Fellous.