Matthew Tkachuk had a goal and an assist for the Flames (1-0-1), who scored all three goals on the power play.
Braden Holtby made 32 saves for the Canucks (1-2-0).
"We have to play like a desperate hockey team out there," Canucks captain Bo Horvat said. "It's as close to the playoffs as you're going to get, playing these mini-series. It's going to be like that all year and we have to be ready to respond here Monday night. You play every single game against a team in your division. All these points are important, and we've got to be ready to go here Monday night."
Sean Monahan put Calgary ahead 1-0 at 8:31 of the first period, finishing a tic-tac-toe passing play with Elias Lindholm and Tkachuk.
"You want to get it going early," Monahan said. "Right now, special teams are huge this early in the season; they can win you games and lose you games. Tonight, our PK was great (4-for-4) and the power play got three, and we won the game."
Dillon Dube scored on a one-timer over Holtby's shoulder after receiving a no-look backhand pass from Andrew Mangiapane to make it 2-0 at 16:12 of the second period.
"I was ready for it to come, but [Mangiapane] had an opportunity to shoot, faked him out and I got a good look at it," Dube said. "It was nice to connect on that one and special teams were big for us today. I wanted it. [Mangiapane] made a great behind-the-back pass, right in my wheelhouse."