The Catalans made Bradford's miserable mid-season look even worse by beating them soundly despite not being anywhere near their own best.
The French side consolidated third place in the Super League and avenged a 46-16 defeat at Odsal in the Cup, but they should have had the game won long before the decisive late tries from John Wilson and Justin Murphy.
Bradford's lowest crowd of the season, partly a response to last week's Cup defeat by Hull, was quick to blame the referee, Ashley Klein.
The Bulls' coach, Steve McNamara, said: "We've gone from being the disciplined team in the League to the worst and we've got to find out what we're doing wrong."
Almost despite themselves, the Bulls had the better of an untidy first half.
Thomas Bosc put the Catalans ahead with a penalty, but their poor handling stopped them mounting any serious pressure.
Bradford's first try came when they kept the ball alive on the last tackle, forcing a penalty and eventually getting over through Sam Burgess.
The second was the result of a clever kick from Iestyn Harris which sat up perfectly for his half-back partner, Ben Jeffries.
The best moment of the half, however, came when Dimitri Pelo latched onto a kick from Jeffries near his own line and set off for the opposite end of the ground. He would have made it but for the magnificent chase and tackle from the other wing by Dave Halley.
The Dragons had at least given notice that there was some strike power about them and, three minutes from time, Casey McGuire managed to get over from close range.
It was all Catalans from the beginning of the second half, with Pelo tackled into the corner flag, McGuire having the ball stolen over the try line and, finally, Sebastien Raguin scoring from Adam Mogg's kick.
Bosc's third goal put the French ahead, but not for long, Pelo racing out of the defensive line to leave Paul Sykes a clear run.
Sykes lost the ball on the line when he could have had a second and Michael Platt threatened to go all the way on a spectacular run, but the Dragons drew level when Harris was penalised for pulling down his tackler and Bosc landed the goal.
Catalans finished off the job with two tries in the match's final 15 minutes, the first from Clint Greenshields' swift pass to Wilson and the second when Platt lingered for an age to allow Murphy to arrive and touch down McGuire's slow, rolling kick.
Bradford: Platt, Evans, Sykes, Hape, Halley, Harris, Jeffries, Vagana, Newton, Lynch, Solomona, Langley, Burgess. Substitutes: Kopczak, Finnigan, Cook, Tupou.
Catalan Dragons: Greenshields, Murphy, Wilson, Raguin, Pelo, Mogg, Bosc, Guisset, McGuire, Chan, Croker, Mounis, Carlaw. Substitutes: Castre, Elima, Fakir, Duport.
Referee: A Klein (Keighley).Reuse content