Bradford (12) 16
Tries: Burgess, Jeffries, Sykes Goals: Harris 2
Catalans Dragons (8) 24
Tries: McGuire, Raguin, Wilson, Murphy Goals: Bosc 4
John Wilson and Justin Murphy scored late to help the Catalans Dragons come from 10 points down to beat Bradford.
The Bulls looked in control with Sam Burgess and Ben Jeffries going over early but they seemed to tire late on.
Casey McGuire and Sebastien Raguin crossed either side of the break but Paul Sykes quickly responded.
A Thomas Bosc penalty levelled it before Wilson dived over in the corner and Murphy made the most of an error by Michael Platt for a deserved win.
Catalans Dragons coach Mick Potter:
"The players have shown improvement in those three years since we got into Super League.
"They have come a long way and they are a bit more confident of their ability to compete at this level.
"The guys showed their confidence in themselves. We couldn't have done that three years ago. Can we hold on to third place? Your guess is as good as mine, but I'd rather be here than lower down the table."
Bradford Bulls coach Steve McNamara:
"It's not quite happened for us today. We had a really good go at it, but we lacked a bit of quality in some areas.
"We lacked some composure at the end and we went about it completely wrongly. For some reason we've gone from the most disciplined side in the competition to possibly the worst.
"It's a tough time, but we'll fix it. We've got enough quality out there and enough quality to come back into the team, and we're still in there in the top six. Things aren't going for us at the moment but we won't roll over and die."
Bradford: Platt, Evans, Sykes, Hape, Halley, Harris, Jeffries, Vagana, Newton, Lynch, Solomona, Langley, Burgess.
Replacements: Kopczak, Finnigan, Cook, Tupou.
Catalans Dragons: Greenshields, Murphy, Wilson, Raguin, Pelo, Mogg, Bosc, Guisset, McGuire, Chan, Croker, Mounis, Carlaw.
Replacements: Casty, Elima, Fakir, Duport.
Referee: A Klein (London)