The Saints scored five tries, four of which were converted by Mark Percival, to open up a commanding 28-0 lead at the break over the relegation-threatened Bulls.
Early second-half scores from Lance Hohaia and Tommy Makinson increased the home side's advantage, but Bradford improved significantly after the hour mark as Luke Gale, Joe Arundel, Adrian Purtell and Jamie Foster all touched down to temporarily create some nerves in the Saints camp.
However, they could not continue their valiant comeback, and Paul Wellens crossed for his second try of the game in the final minute to ensure that St Helens had the last laugh, leaving Bradford 10 points from safety.
Had Saints lost, Castleford Tigers could have displaced them at the Super League summit, and the Wheldon Road outfit did their part by beating Huddersfield Giants in a 44-30 thriller in which kickers Marc Sneyd and Leroy Cudjoe were on top form.
Huddersfield drew first blood when Chris Bailey went over on six minutes, but Liam Finn's 40th-minute effort for Castleford assured that the Tigers outscored the Giants by three tries to two in the first half.
They extended their 16-12 lead by touching down three times in the opening 13 minutes of the second period, but the visitors got themselves back into contention with a trio of their own tries.
However, their revival was cut short when Frankie Mariano and Grant Millington went over in the final stages for Castleford, who remain in third place, behind St Helens and Friday's final winners, Leeds Rhinos.
The Rhinos had lost three of their last five games heading into their tie with Hull Kingston Rovers at Headingley, which, in a Super League rarity, was deadlocked at nil-nil at the interval.
Leeds found their rhythm in the second half, though, with Rob Burrow contributing two of their five tries, all of which were converted by Keith Sinfield, and Hull managed only one score in reply in a 30-6 loss.
Leeds and Castleford are two and three points off top respectively, with seven games of the regular season left.
Results in full: Castleford Tigers 44-30 Huddersfield Giants; Leeds Rhinos 30-6 Hull KR; St Helens 46-22 Bradford Bulls