St Helens came from behind to end Castleford’s unbeaten run and leave the Tigers still looking for a first away win over them since 1992.
The visitors led 8-0 and 14-6 in a thrill-a-minute first half at Langtree Park but crucially lost stand-off Ben Roberts with a leg injury after 23 minutes which left them without a key playmaker, while influential prop Grant Millington went off on the hour with a hand problem.
Centre Matty Dawson, deputising for the injured Mark Percival, scored two of Saints’ five tries in the 28-22 victory as they made it three wins from their opening four games to close to within two points of leaders Warrington.
St Helens dominated the first half, with hooker James Roby causing havoc around the ruck and skipper Jon Wilkin and scrum-half Luke Walsh forcing six goal-line drop-outs between them, but the Tigers tackled furiously to keep themselves in the game and looked threatening on the counter-attack.
The visitors actually opened the scoring from their first meaningful attack on nine minutes, Millington forcing his way over from close range, and skipper Luke Gale kicked them into an 8-0 lead with a 15th-minute penalty.
At the other end, Wilkin and prop Alex Walmsley were both held up over the line before let winger Adam Swift took advantage of a ricochet to touch down at the corner for his side’s first try.
Smart work from centre Ben Crooks then got second rower Mike McMeeken racing away for Castleford’s second try on 22 minutes and Gale’s third goal re-established an eight-point lead.
The weight of possession eventually took its toll, however, and Saints went in front with the aid of two tries in a five-minute spell just before half-time. Stand-off Jordan Turner’s nicely timed pass got second rower Atelea Vea striding through a gap in the Tigers wall and Dawson found space out wide to touch down.
Trailing 16-14 at the break, Castleford ought to have made more of a clean break by full-back Luke Dorn but they drew level with a Crooks penalty nine minutes into the second half.
That was as good as it got for the Yorkshiremen, however, as they continued to spend most of the game pinned inside their own half.
Turner worked loose forward Louie McCarthy-Scarsbrook over for a fourth try on the hour and, after Wilkin and Walmsley had again been turned onto their backs over the line, the skipper fired out a long pass to get Dawson over for his second, with Walsh taking his goal tally to four successes from five attempts.
Hooker Adam Milner forced his way over for a third Castleford try seven minutes from the end and Gale’s fourth goal cut the gap to six points but they could not force their way over again and Saints comfortably hung on for a deserved victory.
St Helens: McDonnell, Makinson, Peyroux, Dawson, Swift, Turner, Walsh, Walmsley, Roby, Amor, Vea, Wilkin, McCarthy-Scarsbrook. Subs: Tasi, Richards, Thompson, Fages.
Castleford Tigers: Dorn, Hitchcox, Crooks, Webster, Solomona, Roberts, Gale, Lynch, McShane, Millington, Moors, McMeeken, Jewitt. Subs: Milner, Massey, Cook, Maher.
Referee: James Child (RFL).