St Helens ran away with the game in the final quarter to make it 10 wins on the trot in all competitions.
An unlikely hat-trick of tries from Jon Wilkin and Bryn Hargreaves helped to make the winning margin a handsome one in the end, but this was a plucky effort from a Bradford team which has now lost its last four games and which only really succumbed last night when reduced to 12 men.
Despite fielding a depleted side, the Bulls took an early lead when a mix-up between Francis Meli and Paul Wellens gave them possession under the Saints posts. Swift handling took the ball to the left wing for Semi Tadulala to score.
After 13 minutes, Bradford struck again with an attack initiated by David Solomana's sublime pass to Tadulala and finished by Paul Sykes. Saints were curiously flat and it took the introduction of Maurie Fa'asavalu to lift them, the substitute wrestling his way over with his second touch.
Bradford were still showing all the right competitive instincts, exemplified by Iestyn Harris stealing the ball from Sean Long and forcing his way over a couple of tackles later. In the last 10 minutes of the half, Saints took control. Wilkin spun out of a series of tackles to score and then Wellens won Long's high kick for Steve Tyrer to put them ahead for the first time, a lead James Graham increased
The Bulls remained defiant until a high-class move between James Roby and Leon Pryce split the defence for Wilkin's second. Even then they came back through Ben Jeffries' break and Dave Halley's finish.
Bradford would have been closer still had Shontayne Hape not thrown the ball away after making a defence-splitting run. Kieron Cunningham's dynamism at dummy half sent Hargreaves in and the strain on Bradford's defence showed when Sykes was sent to the sin-bin. Hargreaves immediately went over again and tries from Roby and Pryce stretched the lead before Hargreaves' hat-trick.
"I thought we came to play tonight," said the Bull's coach, Steve McNamara. "The effort and endeavour was great, but we've been absolutely bashed by a 19-5 penalty count."
St Helens: Wellens; Gardner, Tyrer, Talau, Meli; Pryce, Long; Graham, Cunningham, Hargreaves, Gilmour, Wilkin, Sculthorpe. Substitutes used: Roby, Clough, Fa'asavalu, Thompson.
Bradford: Platt; Halley, Evans, Hape, Tadulala; Sykes, Jeffries; Vagana, Harris, Kopcjak, Solomona, Finnigan, Langley. Substitutes used: Feather, Cook, James, Carlile.
Referee: R Silverwood (Mirfield).