CALGARY -- The Detroit Red Wings made a milestone night for Henrik Zetterberg a little more memorable.
In his 800th NHL game, Zetterberg had a goal and an assist to lead the Red Wings to a 3-2 win against the Calgary Flames at Scotiabank Saddledome on Wednesday.
"(Drew) Miller made sure I knew before the game," Zetterberg said. "He just said, 'It's your 800th game, congratulations. I knew before. I knew it was close. I knew I was close getting there. It was nice to get a win."
Riley Sheahan and Justin Abdelkader also scored for Detroit (22-10-9), which has three wins in its past four games and five in its past seven.
The Red Wings won two of three games in Western Canada to start a six-game stretch away from Joe Louis Arena. They visit the Washington Capitals on Saturday.
"It was a good trip," coach Mike Babcock said. "It was 2-1 in Vancouver with two minutes left, and you give up the empty-net goals. I thought we played well in Vancouver. I thought we controlled a lot of that game and didn't score, and our special teams weren't as good as they should've been, but a good trip. Our team played well. We think we're getting better. That to me is what it's all about."
Mikael Backlund, who returned Wednesday after missing 29 games because of an abdominal injury, and Mason Raymond scored for the Flames (21-17-3), who have lost two in a row after winning four straight.
Calgary will conclude a six-game homestand Friday against the Florida Panthers.
"The bounces are going to change," Flames captain Mark Giordano said. "It's tough in here right now. I thought a couple breaks go the other way and we at least get it to overtime. We have to take some positives out of that. We have two big games coming up on the weekend that we have to win."
A net loss for the Flames resulted in a gain for the Red Wings.
Starting goalie Karri Ramo left the game at 10:11 of the second period because of an apparent injury after colliding with Flames defenseman Raphael Diaz when he left his crease to play the puck. He stopped 12 of 13 shots in his first start since being pulled after allowing four goals on 13 shots in a 5-2 loss to the New York Rangers on Dec. 16. Jonas Hiller came on in relief.
Detroit beat Hiller on its second shot against him when Abdelkader's cross-slot pass skipped over Calgary defenseman Dennis Wideman's stick and right to Zetterberg, who lifted his 10th goal over a sprawled Hiller to put the Red Wings up 2-1 with 2:32 remaining in the period.
The Red Wings, who are 13-0-2 when leading after two periods, closed out the Flames in the third.
With Calgary forward Josh Jooris called for hooking, Abdelkader hit the post on his initial attempt, but he had time for another swipe and knocked in his 11th goal 2:03 into the period to extend the Detroit lead to two.
Abdelkader's goal, the eventual game-winner, came on the fourth shot against Hiller.
"It's part of being the backup goalie," Hiller said. "That's what you're there for, but it's definitely not an easy situation. You'd rather to have a few shots and kind of find your way into the game than having a backdoor play and getting scored on. You kind of have to find a way. I thought I played pretty solid for the situation, but at the end, it's still disappointing when you lose."
The Flames pulled back within one with a shorthanded goal 3:10 later.
With Joe Colborne serving two minutes for hooking, Backlund took a pass from Paul Byron and slid a backhand under Detroit goaltender Petr Mrazek for his second of the season. It was Backlund's first game since Oct. 28; he had surgery to correct an abdominal strain in November.
Calgary almost tied the game at 9:08 when Matt Stajan tipped TJ Brodie's wrist shot from the point, but the puck hit the post, bounced off Mrazek's back and trickled along the goal line before going wide of the net.
With Hiller pulled for an extra attacker, the Flames thought they had tied it with 1:20 remaining, but the goal was waved off immediately with Curtis Glencross in the crease and Mrazek without his mask.
"Probably best not to comment on it," Glencross said. "It's a battle in front of the net. Their team is battling, we're battling, you get pushed into the goalie, and the goal is called off. It's unfortunate."
Mrazek, who finished with 28 saves to win his first start since Dec. 23, felt it was the right call.
"The guy was standing in the crease and he got pushed by our guy, and my mask just fell off," he said. "I think that was a good 'no goal.'"
Calgary beat Mrazek before he had a chance to settle into the first period.
Streaking down the wing, Raymond fired a shot that hit Mrazek up high. Raymond corralled the rebound, darted behind the net and tucked in a wraparound for his sixth goal at 2:27.
Raymond was a healthy scratch the past two games after returning from a shoulder injury and going pointless in his previous 10 games. He had not scored a goal since Oct. 19, a span of 13 games.
David Jones earned an assist on Raymond's goal. Jones was expected to be a healthy scratch, but was inserted into the lineup when Jiri Hudler's wife, Hannah, went into labor with the couple's first child. Backlund also had an assist on the goal.
Three opportunities on an early power play following Raymond's goal gave the Flames an 8-1 edge in shots 6:30 into the game. Detroit scored on its next one.
Breaking into Calgary's zone, Sheahan darted around Flames defenseman Deryk Engelland before lifting a shot over Ramo's glove to tie the game 1-1 at 7:58. The goal, his eighth, snapped a 10-game drought.
"That was vintage Yzerman, I think," Zetterberg said. "Stevie used to do that move a lot. I think he's been watching him."
It was the only one Detroit would score against Ramo before he was forced from the game.