VANCOUVER, British Columbia (AP) -- Johnny Gaudreau scored 3:03 into a 3-on-3 overtime and the Calgary Flames beat the Vancouver Canucks 3-2 on Saturday night.
After Calgary defenseman Dennis Wideman stole the puck from Vancouver's Brandon Sutter, Gaudreau beat Ryan Miller with a quick shot for his first goal of the season.
Dougie Hamilton and Sean Monahan scored in regulation for the Flames, while Jonas Hiller made 28 saves.
Bo Horvat and Jared McCann, with his first NHL goal, scored for the Canucks, who got 35 saves from Miller.
The teams played in Wednesday's season opener, which Vancouver won 5-1 in Calgary.
Down 2-1 after two periods, the Flames tied it at 8:49 of the third after the Canucks turned the puck over in their own zone. Calgary forward Jiri Hudler found Monahan in front, and he buried his first of the season past Miller.
Gaudreau had a great chance from the slot with just over 90 seconds to play in regulation, but Miller made the save.
McCann gave his team a 2-1 lead at 11:33 of the second, taking a pass from Jannik Hansen after the Flames couldn't get the puck out and ripping a shot high over Hiller's glove in just his second NHL game.
The 19-year-old forward nearly jumped out of his skates in celebration, smashing into the boards with excitement before being mobbed by teammates.
Vancouver trailed 1-0 after the first, but tied things up at 2:03 of the second period on the power play. After rookie defenseman Ben Hutton made a nice play at the Calgary blue line, Horvat took the puck hard to the net. His initial shot was stopped, but he collected the rebound in a maze of legs and settled himself before firing a shot high over Hiller for his first of the season.
The 20-year-old Horvat is expected to have an increased role in his second season and is currently centering both the second line and second power-play unit.
The Flames, who beat the Canucks in six games in the first round of last season's playoffs, opened the scoring exactly five minutes into the first period on the power play.
Gaudreau took a pass at the side of the Vancouver net before feeding Hamilton, who beat Miller from the face-off circle for his first point with the Flames.
The defenseman was acquired in an off-season trade with the Boston Bruins and signed a contract extension with Calgary through 2020-21.
Note: Vancouver D Alexander Edler missed the game because of illness. Yannick Weber took his spot in the lineup.