VANCOUVER, BC -- Brandon Sutter scored the shootout-winner and Ryan Miller made 25 saves to help the Vancouver Canucks to a 2-1 win at Rogers Arena on Saturday.
Daniel Sedin also scored for the Canucks (1-0-0).
Troy Brouwer scored, and Chad Johnson made 30 saves for the Flames (0-2-1).
"You come to a tough arena here with the home opener and a lot of energy," Johnson said. "I thought we battled pretty hard as a group. It's good that we got the point, but I don't think we're where we still need to be. We have a lot of moving forward to do as a group there. But it was good to get that one point."
Sutter skated in before shooting five-hole on Johnson to win the game in the fourth round of the shootout. He scored the game-winning goal in the season-opener against Calgary to start the 2015-16 season as well.
Miller stopped all four Flames shooters before Sutter's goal.
Sedin forced extra time by scoring with 3:51 remaining in regulation, converting a cross-crease pass from Loui Eriksson, to tie the game 1-1.
"The goal they scored at the end … we were close to cutting off a couple bounces behind the net," Johnson said. "It went right to the Sedins there. Home ice advantage, I guess. Home ice bounces they got. Guy just throws it out in front, hits our d-man and lands on their stick. They had that luck there for about three minutes straight."
The goal came after Johnson previous stopped Sedin twice in a six-minute span earlier in the third. Sedin took a pass into the high slot on a 3-on-2, but his shot was stopped by Johnson's pad at 2:51. Johnson went post-to-post to stop him again at 8:51.
"I felt good with my game. I just tried to make sure guys felt confident with me," Johnson said. "I think as the game went on, you could see guys were giving some me more shots. I felt good. I felt good in preseason too, but there was some weird bounces. In pre-season, weird stuff happens. I just tried to build off the performances and try to give the team a chance to win."
Johnson made three saves, and the trio of Mark Giordano, Deryk Engelland and Troy Brouwer killed a Dougie Hamilton hooking minor through the final 1:24 of overtime, to push the game to a shootout.
"I think it could be a process of learning how to win," Brouwer said. "A lot of teams do it when you're up a goal or two goals; you have a tendency to sit back. I thought the majority of the second period we were putting pucks in; we were getting in on the forecheck, finishing our checks. We were getting the puck in the neutral zone and turning them up back in their zone.
"I'm not going to say we sat back in the third period, but I think we weren't doing exactly what we needed to do to win. We were just hoping the win would come to us."
Brouwer opened the scoring 9:14 into the game.
With Miller on the bench for the extra attacker on a delayed holding minor to Brouwer, Eriksson threw a pass back to Vancouver's defence but instead scored into his own net to put Calgary up 1-0. Brouwer was given credit for the goal.
The goal was originally credited to Brett Kulak. It would've been his first career NHL goal.
"I've never seen anything like that," Brouwer said. "I feel bad for [Kulak] taking away his first one. I wish they'd give it back to him. It was just a bizarre sequence. I've never scored a goal and went to the box at the same time."
"It probably would have been one of the most bizarre first goals ever," Kulak added.
Video: CGY@VAN: Brouwer credited with Vancouver's own-goal
Miller denied Calgary's best chance to double the lead in the first, making a pad save off Johnny Gaudreau at 11:47 to complete a play started when Sean Monahan knocked down a clearing attempt and passed across to Kris Versteeg.
Miller stopped Gaudreau again in alone behind Vancouver's defence in the second period. Gaudreau drew a hooking penalty by Christopher Tanev, and Miller made back-to-back saves off Hamilton on the ensuing power play, including one off his shoulder at 11:41, to keep the Canucks within one.
Gaudreau had a pair of chances in the opening minutes of the third, breaking in on a rush before firing high over Miller before losing the handle on the puck in the crease with the Canucks goaltender beat.
NOTES: Kulak, who played his junior hockey with Vancouver of the Western Hockey League, made his season debut in the game. He was inserted into the lineup in place of Dennis Wideman. Micheal Ferland played in his 100th career NHL game.
UP NEXT: The Flames return to Calgary to host the Buffalo Sabres at Scotiabank Saddledome on Tuesday (7 p.m. MT; SNF, SN960).