VANCOUVER - Chris Tanev celebrated his birthday in style Saturday night with a game-winning goal that snapped the Canucks out their slump.

Tanev scored just 18 seconds into overtime on a pass from Henrik Sedin, as Vancouver defeated the Calgary Flames 3-2 at Rogers Arena.

"Yeah it's awesome. A good birthday gift," said the 25-year-old Tanev, who rushed down the ice on a 3-on-2 with Henrik and Daniel Sedin before beating Flames goalie Jonas Hiller with a quick shot.

Radim Vrbata and Yannick Weber scored in regulation for the Canucks (18-11-2), who snapped a five-game winless skid. Goalie Ryan Miller made 26 saves in his first win since Dec. 2 at Washington.

Tanev's goal wasn't the only gift on the night. The Canucks took the first lead of the game at 4:40 with Hiller out of the net for an extra attacker on a delayed penalty call. Flames defenceman Dennis Wideman shot a pass from near the Canucks' net that skipped off Mason Raymond's stick at the blue-line and all the way into the empty Calgary net. Weber was credited with the goal for his second of the season.

"That was a great bounce for us," said Canucks coach Willie Desjardins. "You don't get those very often. It was a good break for us and fortunately we took advantage of it."

Johnny Gaudreau and David Jones found the back of the net for Calgary (17-15-2), which is now winless in eight games.

Flames coach Bob Hartley saw the own goal as symbolic of his team's recent struggles.

"For my part that's the first time I have been involved in a goal like this and that sums up the way it has been going for us," said Hartley. "But credit to our guys, we never quit and it's too bad we couldn't get that last goal."

The Canucks win was marred by a scary moment early in the second when Vancouver forward Jannik Hansen took a big hit from Wideman and immediately skated back to the bench before appearing to collapse forward. Medical staff rushed over and helped Hansen back to the locker-room. Hansen did not return to the game as a "precautionary measure," the team announced.

Desjardins said after the game that Hansen was checked out at hospital and would be fine.

"Everything looks good," said Desjardins. "It's concerning. He seemed like he couldn't get his breath there. When that happens it's not usual, so you're concerned. But everything's checked out at the hospital and everything is fine."

Vancouver made it 2-0 while on the power play midway through the first. With Alex Burrows hovering over Hiller and batting at the loose puck, Vrbata found the rebound and knocked it in at 9:24 for his 13th this season. It was the Canucks' first power-play goal in their last 19 chances.

"You are going to go through these stretches," said MIller. "I thought we kept working, got some good bounces tonight and that's what happens with hockey."

Miller looked sharp in the first when he stoned star Flames defenceman Mark Giordano, who took a point-blank slap shot from the face-off circle. Giordano leads NHL defencemen with 31 points, including nine goals.

Calgary got on the board at 7:31 of the second period when Miller gave up a big rebound, as the puck popped out of his glove right to Jones, who fired it back in to make it 2-1. The Flames outshot the Canucks 15-10 in the second.

Calgary tied it 2-2 at 12:55 in the third period when Jiri Hudler circled around the boards before finding Gaudreau in the slot and the rookie wristed it past Miller for his seventh of the year.

It was a goal Miller would probably like to have back, but he made amends minutes later when he closed the door on a Sean Monahan breakaway attempt.

Calgary had a power play in the final four minutes of regulation on a Kevin Bieksa high-sticking call, but couldn't capitalize.

"They're playing smart hockey," Miller said of the Flames. "They're on the puck, they're aggressive and it's hard to work around that. It's tough, they're catching up. The young guys are getting smart and they're going to be a tough team to contend with."

Hiller, who hasn't won a start since Nov. 18, stopped 29 shots.

Notes: Henrik Sedin is one goal away from 200 career goals. ... The Flames and Canucks meet twice more this season — again in Vancouver on Jan. 10 and then back to Calgary on Feb. 14. ... The Canucks will host Arizona on Monday before breaking for the holidays, while the Flames wrap up their road trip in Los Angeles the same night.