Vancouver Canucks' Josh Leivo, right, tries to kick the puck into the net as Calgary Flames goalie David Rittich looks on during third period NHL hockey action in Calgary, Saturday, Oct. 5, 2019. THE CANADIAN PRESS/Jeff McIntosh

Calgary's top line produced and Flames goaltender David Rittich got to work on proving he's a bona fide NHL starter in Saturday's 3-0 win over the Vancouver Canucks.

Rittich made 34 saves for the shutout in Calgary's home-opener, including 18 in the third period.

Sean Monahan and Elias Lindholm scored for Calgary (1-1-0).

Johnny Gaudreau added an empty net goal and assisted on both of his linemates' goals for his second multi-point game to open this season.

“It starts in net. I thought Ritter was real solid,” Flames head coach Bill Peters said. “Johnny had a good night too right? The Monahan line was real good.

“They're out there at the end of the game in that five versus six and they executed. They're growing up right in front of our eyes. They know what they have to do. They're a very good line and we have a lot of confidence in them.”

Jacob Markstrom stopped 27 of 29 shots in the loss for Vancouver (0-2-0).

The Canucks pulled him for an extra attacker with over two minutes remaining in the game, but came up empty.

The Flames improved to 8-8-3 in home-openers since the turn of the century.

Rittich split Calgary's net last season with Mike Smith, who was given playoff starts and signed with the Edmonton Oilers in the off-season.

Rittich upped his off-season training to be fit in games and over the course of the season.

“I worked four hours per day for weeks,” the 27-year-old Czech said.

“It was for conditioning, to be strong and mentally strong. You're going to be tired in a game for sure. That's why I did four hours. That's what you can see in my game right now.”

The hosts outshot the Canucks 14-5 in the second period and led 2-0 heading into the third.

Vancouver couldn't cash in a pair of third-period power plays. The first included 61 seconds of five on three, but Rittich repelled three shots in that span.

“I thought we had some good looks,” Canucks head coach Travis Green said. “Still got to get results.”

Monahan collected his second goal in as many games. The Flames centre scored from the slot at 1:10 of the second on a feed from Gaudreau behind the goal-line.

A scuffle broke out near the end of the period when Canucks defenceman Tyler Myers knocked Flames captain Mark Giordano over in front of Calgary's bench.

Myers and Flames defenceman Travis Hamonic took coincidental minors in the ensuing shoving match.

Lindholm scored the first goal of the season at the Saddledome at 13:50 of the first period

Under pressure from Gaudreau, Myers misplayed a cross-ice pass in Calgary's zone onto the stick of Lindholm, who whipped the puck under Markstrom's arm.

“I felt I could have found the net a couple more times, same as Monny, same as Lindy,” Gaudreau said.

“We had a ton of chances tonight. A couple went in, but we felt really good. We were creating chances and played most of the game in the offensive zone which is nice.”

Winger Milan Lucic, acquired in an off-season trade with Edmonton, had four penalty minutes for a two-game total of 21 as a Flame.

Both teams opened their respective seasons with road losses Thursday - Vancouver in Edmonton and Calgary in Denver, Colo.

The Los Angeles Kings are in Calgary on Tuesday and Vancouver on Wednesday for the Canucks' home-opener.

The Canucks are waiting until Wednesday to announce the team's captain.

Notes: Canucks veteran forward Loui Eriksson was a healthy scratch to make way for 23-year-old Adam Gaudette . . . The Flames, celebrating their 40th season in Calgary, wore retro jerseys Saturday . . . The Canucks have several events planned to commemorate their 50th season, including February's retirement of the numbers worn by siblings Daniel and Henrik Sedin.