CALGARY -- Thomas Vanek made his 900th NHL game a memorable one.
Vanek had a goal and an assist, and Jacob Markstrom made 29 saves to help the Vancouver Canucks to a 5-3 win against the Calgary Flames at Scotiabank Saddledome on Tuesday.
"I didn't even know about it before the game," Vanek said. "It's a good win. I think more than anything it's great for [Markstrom]. I think he's been playing really well for us. Without him tonight it would be a different story."
[WATCH: All Canucks vs. Flames highlights]
Sam Gagner, Derek Dorsett, Bo Horvat and Henrik Sedin also scored for the Canucks (8-5-2), who won to open a four-game road trip in the second of back-to-back games after losing 3-2 against the Detroit Red Wings on Monday. Vancouver is 5-1-0 on the road this season.
"I don't know what it is," Sedin said. "I don't think it matters if we play on the road or at home. I think our style of play, that's the way you need to play in today's NHL. We bought in and I think we follow the system and we defend from playing well offensively. That's the only way I look at it."
Dougie Hamilton, Johnny Gaudreau and Micheal Ferland scored, and Mike Smith made 16 saves for the Flames (8-7-0), who had their three-game winning streak end.
"It's a learning experience," Calgary defenseman TJ Brodie said. "To make the playoffs, we need to learn how to win these games, especially being tied going into the third."
The Canucks struck twice in 38 seconds early in the third period to break a 3-3 tie.
Video: VAN@CGY: Vanek lights the lamp in 900th NHL game
Horvat scored on the power play to make it 4-3 at 4:12, and Sedin scored his first goal of the season to put Vancouver up 5-3 at 4:50 when he took a pass from Daniel Sedin on a 2-on-1 and shot by Smith's blocker.
"I thought we played the way we can play," Henrik Sedin said. "I don't think it was an unbelievable third period, but we got one on the power play and they had to start pushing, and all of a sudden we were up two. Without [Markstrom] tonight I don't think we win this game."
Markstrom made a left pad save on Gaudreau's partial breakaway with 4:42 remaining in the third.
Gagner put the Canucks up 1-0 at 15:38 of the first period with a power-play goal. Hamilton tied the game 1-1 on a power-play goal with 11 seconds remaining when he took a pass from Mikael Backlund and shot by Markstrom's glove.
Gaudreau made it 2-1 at 11:51 of the second period when he shot through a screen on the power play. He has two goals and five assists in a five-game point streak.
Video: VAN@CGY: Gaudreau snaps wrist shot for PPG
Prior to the goal, Markstrom made a glove save on Gaudreau's shot from the slot at 5:52, an arm save on Sean Monahan's chance on an odd-man rush at 7:19, and a sprawling pad save on Michael Stone at 8:38.
Vanek tied it 2-2 at 15:09 with a slap shot from the faceoff dot over Smith's shoulder.
Ferland scored unassisted at 17:27 to give Calgary a 3-2 lead, but Dorsett scored shorthanded 53 seconds later to tie the game 3-3.
"That's how you win games in this league. Holding the lead," Gaudreau said. "Especially on that power play, we gave them an odd-man rush and they tied the game. It's something we need to learn from."
Video: VAN@CGY: Gagner opens the scoring with PPG
Goal of the game
Horvat's goal at 4:12 of the third period.
Video: VAN@CGY: Horvat puts in loose puck for PPG
Save of the game
Markstrom stopped Gaudreau at 15:18 of the third period.
Video: VAN@CGY: Markstrom makes an acrobatic pad save
Highlight of the game
Henrik Sedin's goal at 4:50 of the third period.
Video: VAN@CGY: H. Sedin scores off D. Sedin's great pass
They said it
"I think we felt that if you would've told us this morning it was 3-3 going into the third we would've taken it any day. We just had to make sure we [bore] down in the third. We got a big power-play goal and another one to give us that little cushion." -- Canucks forward Derek Dorsett
"A couple mistakes that cost us the game. We've got to be better. We've got to learn from these mistakes. Good thing it's only game 15, not game 75, or we're fighting for a playoff spot." -- Flames forward Johnny Gaudreau
Need to know
Monahan has three goals and three assists in a five-game point streak. … Daniel Sedin needs six points for 1,000. ... Flames forward Jaromir Jagr returned after missing six games because of a groin injury. … Forward Brendan Gaunce made his season debut with Vancouver after Markus Granlund sustained an upper-body injury against Detroit on Monday. Granlund is day-to-day.
Canucks: At the Anaheim Ducks on Thursday (10 p.m. ET; PRIME, SNP, NHL.TV)
Flames: Host the Red Wings on Thursday (9 p.m. ET; SNF, FS-D, NHL.TV)
Video: Vanek, Markstrom lead Canucks past Flames, 5-3