Poängen var nivå vid pausen med Theo Fages och Matty Smith korsar för besökarna och Alex Mellor och Patrick Ah Van går över till Widnes.
Saints tog ledningen när Mark Percival sparkade ett straff, efter att vikingarna hade straffats för offside.
Det såg ut att vara den vinnande poängen, men värdarna gjorde så småningom deras tryck berätta när Ah Van kraschade över.
Den nyzeeländarens andra försök av natten gav värdarna en första hem seger för säsongen, och de är nu bara en punkt utanför 11: e plats Huddersfield.
Segern kommer att lätta på trycket på tränare Denis Betts, men hans lag gjorde det på det svåra sättet.
De var mycket bättre laget i första halvlek men gick i nivå på pausen efter enskilda fel bidrog till att de misslyckades med att lägga till sina 12 poäng.
Saints hade en Luke Thompson försök uteslutits av videon ref 14-12 upp, innan Ah Van avgörande poäng gav Widnes en viktig två punkter.
Widnes: Hanbury, Thompson, Bridge, Runciman, Ah Van, Mellor, Gilmore, Dudson, Johnstone, Buchanan, Houston, Dean, Gerrard.
Ersättningar: Whitley, Burke, J. Chapelhow, D. Walker.
St Helens: Bailey, Swift, Fleming, Percival, Grace, Fages, Smith, Richards, Lee, Amor, Taia, Wilkin, Thompson.
Ersättningar: McCarthy-Scarsbrook, Walmsley, Peyroux, Knowles.
Whitehaven v Halifax i Challenge Cup femte omgången är live på söndag, 23 April på Ansluten TV och online från 14:55 BST, tillsammans med live text kommentar på nätet.
Widnes Vikings hävdade bara sin andra Super League seger för säsongen med en smal seger över St Helens.