Australian stand-off Jason Hooper grabbed a hat-trick of tries as St Helens held off a tremendous fightback from Super League champions Bradford.
St Helens (26) 35:
Tries: Hooper 3, Long, Gilmour
Goals: Long 7
Drop Goals: Sculthorpe
Bradford (12) 30
Tries: Anderson, Parker, Pratt 3
Goals: Deacon 5
Bradford's Karl Pratt also scored a second-half hat-trick on his comeback from shoulder surgery.
He helped the Bulls fight back from 34-18 down to set up a thrilling finish, but in the end Saints had just done enough to win a superb match.
The victory lifts St Helens into second place behind Leeds.
Despite missing Keiron Cunningham St Helens started at a lick, with Hooper scoring two stunning tries in the first five minutes.
Bradford opened their account when prop Paul Anderson powered over and Rob Parker then added a second for the champions.
Sean Long and Lee Gilmour hit back for Saints and with Long converting all four tries and adding two penalties either side of half-time the hosts led by 16 points.
When Pratt crossed for his first try, Saints soon cancelled out the score with one of their own as Hooper completed his hat-trick.
Pratt then added a quick brace to complete his hat-trick, and with Paul Deacon maintaining his 100% record with the boot there were only four points in it.
But Paul Sculthorpe had the final say with a late drop goal for Saints.
Bulls coach Brian Noble was critical of referee Russell Smith, who appeared to block Deacon in the build-up to Hooper's second try.
"It was a shocker," he said. "He got in the way of Deaks making the tackle."
Bradford conceded two tries in the first five minutes and Noble admitted: "We gave ourselves too much to do.
"But we showed great mettle and belief and I think with another couple of minutes we could have won it. Offensively we were as good if not better than them."
St Helens: Wellens, Albert, Gleeson, Talau, Gardner, Hooper, Long, Fozzard, Wilkin, Bibey, Gilmour, Joynt, Sculthorpe.
Replacements: Edmondson, Feaunati, Graham, J. Roby.
Bradford: Reardon, Pratt, Johnson, Hape, Vainikolo, L. Pryce, Deacon, Anderson, Paul, Fielden, Peacock, Langley, Swann.
Replacements: Vagana, Radford, Parker, A. Smith.
Referee: R Smith (Castleford)