"It's never too early to start battling for important division points," Martin said. "We want to be in the playoffs, obviously. They were, I think, four points ahead of us, and that's a really big time to come up with two points."
Bo Horvat scored, and Nils Hoglander had two assists for the Canucks (13-13-3), who have won six straight on the road and four of their past five overall. Andrei Kuzmenko scored the only goal in the shootout.
Hoglander was inserted into the lineup after Brock Boeser was scratched following warmups because of a non-COVID illness.
"To me, that was his most complete game of the year," Vancouver coach Bruce Boudreau said. "Energetic-wise, he was hitting, he was skating, he was creating. I thought he did a really good job."
Mikael Backlund, Andrew Mangiapane and Trevor Lewis scored, and Jacob Markstrom made 24 saves for the Flames (13-11-6), who are 0-1-3 in their past four.
"You've just got to keep your chin up," Calgary forward Nazem Kadri said. "It's a long season, and getting down on yourself or thinking you're better than you are is, both sides of the spectrum can be dangerous. With some experience you learn that, and I think we've got the right attitude in here."