The game started in set-for-set fashion, with both teams making good ground albeit the Vikings enjoying territorial advantage.
With 14 minutes gone, the deadlock was broken as Adam Lawton crashed onto a short pass close to the Keighley line and couldn’t be stopped.
The hosts’ response was quick, and they hit the front midway through the first half when Junior Sa’u took a nice ball from Lloyd Roby and powered his way over the whitewash.
With 30 minutes gone, Widnes took advantage of four successive sets close to the Cougars line to re-take the lead. Matty Fozard was the scorer, touching down after linking up with Owen Farnworth.
There was still time for another before half-time, and it came after speed around the ruck led to the ball coming the way of Joe Lyons, who touched down on his milestone 100th appearance for the Vikings.
That meant the score was 14-6 at the break, and Widnes started the second half in electric fashion after Tom Gilmore touched down just three minutes after the restart following a good break downfield from Jacob Jones.
Keighley scored in response quickly as Lloyd Roby touched down against his former club, but it would prove to be a mere consolation as a converted Max Roberts effort out wide saw the Vikings restore a healthy cushion.
Sam Wilde was the beneficiary of quick hands to score not long after the hour mark, and Roberts’ second of the afternoon made it 38-12 with 67 minutes gone.
There was still time for the Cougars to pull tries back through Ellis Robson and Charlie Graham, but it mattered little in the end as Neil Belshaw saw his side record their second victory in the space of a week.
For Cougars it’s now a week off before travelling to Toulouse.