In-form David Longstaff struck a hat-trick as the Vipers broke their four-game losing streak.
Prior to the match coach Rob Wilson had demanded four points from this weekend's two home games and the Vipers started as if they meant to get them.
Bison goalie Nick Boucher was stretching and saving when Longstaff threatened in the opening seconds, but he could do nothing to stop the Great Britain international striking a powerplay marker with the game less than two minutes old.
Play stopped at five minutes when Vipers enforcer Jeremy Cornish attacked defence man Eric Brass by the Bison bench and got a match penalty.
The Vipers doubled their lead on 12 minutes and again it was Longstaff who scored after skating it to the front of the crease to capitalise on a rebound.
Operating a powerplay the Vipers went further ahead 35 seconds into the middle period, their captain Jonathan Weaver forcing the puck home from close range.
A long-range shot let loose by Ryan O'Keefe travelled diagonally through traffic and past netminder Curtis Cruickshank to make it 3-1 on 28 minutes, and the Vipers had two players serving penalties when Doug Sheppard's first timer cut the deficit to one goal three minutes later.
The Vipers again made the most of a man advantage with less than a minute to play in the period, Longstaff netting his hat-trick goal after Wilson's shot rebounded off the back boards.
What was Longstaff's ninth goal and 19th point of the season was to prove crucial as the Bison responded 37 seconds into the final period.
While on a powerplay, Mark De Santis scored a speculative shot.
The Vipers are again in action at the Metro Radio Arena tonight taking on the Belfast Giants in league action. Face-off is at 5.30pm.
VIPERS: Longstaff 3+0; Weaver 1+1; Payette 0+2; Beveridge, Cruickshank, Johnson, Shepherd and Wilson 0+1.
BISON: Sheppard 1+1, De Santis and O'Keefe 1+0; Dalmao and Manning 0+2; Owen 0+1.