Radim Vrbata recorded the sixth hat trick of his career as the Vancouver Canucks snapped a five-game losing streak with a 5-2 victory over the Buffalo Sabres on Monday night.

Brandon Prust, with a goal and an assist, and Henrik Sedin also scored for Vancouver (10-11-8) and Ryan Miller stopped 32 shots against his former team as the Canucks won for just the fourth time in their last 17 games. Daniel Sedin and Adam Cracknell added two assists each.

Brian Gionta and Sam Reinhart replied for Buffalo (11-14-3), which got 26 saves from Linus Ullmark.

The Canucks led 2-1 after the first period and stretched that advantage at 4:34 of the second when Prust scored his first of the season off a nice pass in front from Derek Dorsett. Prust, who was fined $5,000 for his spear on Brad Marchand in Saturday's 4-0 loss to Boston, celebrated his first goal in 50 games.

Vancouver then made it 4-1 with 2:42 left in the period on a 4-on-3 power play when Henrik Sedin tipped Alexander Edler's shot past Ullmark for his ninth.

Playing their third game in four nights following Sunday's 4-2 loss in Edmonton, the Sabres got one back at 1:51 of the final period when Ryan O'Reilly stole the puck from Canucks defenceman Dan Hamhuis behind the Vancouver goal and fed Reinhart, who fired past Miller for his eighth.

Vrbata scored two in the first period and rounded things out with his first hat trick for the Canucks — and first since Oct. 3, 2013, when he was a member of the Phoenix Coyotes — by firing a shot past Ullmark for his ninth of the season with 5:32 left on the clock.

Bo Horvat and Chris Higgins had great chances for the Canucks early, but the Sabres grabbed the lead at 6:48 of the first period when Gionta batted a puck out of the air past Miller for his third on a play that stood up after video review.

Vancouver has been guilty of a number of turnovers in recent weeks, and defenceman Matt Bartkowski was the culprit in the lead up to the opener after being stripped by Buffalo's Jamie McGinn.

The Canucks got that one back just 80 seconds later when Vrbata scored his seventh after the Sabres couldn't clear their zone. Higgins saw his shot stopped by Ullmark, but the rebound spilled out to Vrbata.

Vancouver looked to have taken the lead with 6:32 left in the period, however Alexandre Burrows' goal off a scramble was waved off after the referee lost sight of the puck and blew his whistle.

But the Canucks wouldn't be denied with 3:18 remaining when Vrbata scored on a slick deflection.