Noah Hanafin, Josh Leivo and Sean Monahan also scored, and Chris Tanev had two assists. The Flames have won three straight to pull four points behind the Canadiens for the fourth and final playoff spot in the North Division, though Montreal has three games in hand.
''We have some ground to make up,'' Hanifin said. ''This division, you're going to get those head-to-head games where you can really climb back in and this is the team we're chasing. We know how important these games are.''
Markstrom started for the second straight night after making 24 stops in Calgary's 3-2 overtime victory over Toronto. He is expected to shoulder the goaltending load down the stretch since the Flames traded backup David Rittich to the Maple Leafs at Monday's NHL trade deadline.
''Well, we only have what, 13 games, you look at our schedules, it's really not that hard,'' Flames coach Darryl Sutter said. ''Even if he did play every game, put it this way, he'd still be the same as what he played last year. If you look at the minutes played and all that, that's not a big deal.''
Brett Kulak scored for the Canadiens, who have lost four of their last five. Jake Allen had 30 saves.
The teams wrap up a two-game series at Montreal on Friday night, and meet four times over the next 12 days. Calgary has won four of five meetings so far this season.
''Creating offence comes with playing the game the right way,'' Canadiens coach Dominique Ducharme said. ''We spent way too much time in our zone, we were not strong enough on puck battles, our execution on small plays was not good enough.''
Hanifin got Calgary on the scoreboard with his fourth of the season at 3:58 of the first period. Mikael Backlund won the offensive-zone faceoff and sent the puck back to the defenseman, who blasted a rising slap shot over Allen.
Giordano's slap shot through traffic from the point 29 seconds into the second period made it 2-0.
Kulak pulled Montreal within one at 10:55 of the second. The defenseman earned his first goal in over two years converting Jonathan Drouin's backhand feed and scoring off the rush.
Leivo restored Calgary's two-goal lead at 12:49 of the third. He fought off Montreal captain Shea Weber and put a backhand upstairs on Allen.
The Canadiens pulled Allen for an extra attacker with 3 1/2 minutes remaining but couldn't produce another goal.
''We're fighting for the playoff spot too,'' Canadiens center Nick Suzuki said. ''They're right behind us and these games coming up are going to be huge. We really need to be desperate if we want to be in that playoff run.''
Monahan's empty-netter with 1:10 left capped the scoring.
The Canadiens are 9-8-5 since Ducharme replaced Claude Julien on Feb. 24.
Calgary is 8-9-0 under Darryl Sutter since he took over for Geoff Ward last month.
Copyright 2021 STATS LLC and Associated Press. Any commercial use or distribution without the express written consent of STATS LLC and Associated Press is strictly prohibited.