|Widnes (6) 12|
|Tries: Hanbury 2 Goals: Hanbury 2|
|St Helens (16) 20|
|Tries: Greenwood, McCarthy-Scarsbrook, Makinson Goals: Walsh 4|
St Helens sent early pacesetters Widnes to a second successive Super League defeat and a first home loss of 2016.
The Vikings began the Easter programme top of the table, but followed Friday's defeat at Warrington with a second loss to one of their local rivals.
Tries by Joe Greenwood, Louie McCarthy-Scarsbrook and Tommy Makinson gave Saints a 16-6 lead at half-time.
Rhys Hanbury scored all 12 points for Widnes, including two tries, but Saints survived a late flurry to earn victory.
Widnes stay two points behind leaders Warrington, who saw their 100% start ended by Hull FC on Monday.
St Helens, the 2014 champions, are two points further behind after bouncing back positively from their derby defeat by Wigan on Good Friday.
Greenwood's fourth try in four games gave them a perfect start and, although Widnes drew level shortly afterwards through full-back Hanbury, they struggled to create meaningful attacking opportunities until the final 10 minutes.
There were also not helped by the loss of forward Hep Cahill to an injury which prevented him featuring after half-time.
Having added the extras to two of Saints' tries and kicking two further penalties, Saints scrum-half Luke Walsh made a try-saving tackle to deny Corey Thompson a score with 13 minutes to play.
His intervention would prove crucial as Hanbury's second try sparked Widnes and raised hopes of a comeback, but the visitors held on for their fifth win of the campaign.
Widnes head coach Denis Betts: "I just said to the players that it's a double-edged sword. We defended well, especially the second half, but we let ourselves down with the ball.
"We put so much into our defence and we had a bad day with the ball.
"Some of our decision making wasn't there. Things didn't stick. Some of the calls went against us but we are own worst enemy on some of those decisions with players putting hands in where we shouldn't."
St Helens head coach Keiron Cunningham: "We played for the full 80 minutes, we are a good side and we played some great stuff.
"It's tough over the Easter period - I know as I've done it for years, so it's important that we got the win.
"Widnes defended well, we had to work hard and we came here knowing what we needed to do and we got the job done."
Widnes: Hanbury; Thompson, Dean, Chamberlain, Ah Van; Mellor, Gilmore; O'Carroll, Heremaia, Dudson, Sa, Houston, Cahill.
Replacements: Manuokafoa, Gerrard, Leuluai, Whitley.
St Helens: McDonnell; Makinson, Peyroux, Dawson, Owens; Fages, Walsh; Walmsley, Roby, Savelio, Greenwood, McCarthy-Scarsbrook, Wilkin.
Replacements: Burns, Amor, Turner, Thompson.
Referee: Richard Silverwood.