After Carey Price’s save on Calgary’s Elias Lindholm, Domi collected the puck, skated up ice and let a slapshot go just inside the blue-line for the OT winner with 68 seconds remaining.
Fatigued and with Norris Trophy defenceman Mark Giordano of the Flames in front of him, Domi chose the simple option.
"I was absolutely out of gas to be honest," Domi said. "The shift before that we were dancing around pretty good and didn’t score. They had a chance, Price made a save and he just kind of kicked it out to me.
"I know Gio a little bit from back home. I know how good he is. I’m a big fan of him. He’s one of the best defenders in the entire league.
"I knew I wasn’t going to beat him at the end of a shift like that. Just figured I’d shoot it through him and got lucky with the shot."
Nick Suzuki, Brendan Gallagher and Joel Armia also scored for Montreal (17-12-6). Price had 24 saves for the win.
The Canadiens are 4-1 in their last five games.
Lindholm and Matthew Tkachuk each had a goal and an assist and Oliver Kylington scored his first of the season for the Flames (18-14-5).
Johnny Gaudreau assisted on a pair of Calgary goals for eight points (five goals, three assists) in eight games in December.
Flames goalie Dave Rittich stopped 39 shots in the loss.
Calgary is 7-3 under interim head coach Geoff Ward, but has lost three in a row.
Montreal trailed 2-0 after the first period. Gallagher and Armia pulled the visitors even scoring goals from low percentage areas.
Arturri Lehkonen fed Armia from the boards as the forward gained the zone. Armia wristed the puck from the top of the faceoff circle into the bottom corner of the Calgary’s net at 13:11
Calgary challenged Armia’s goal lobbying for offside, but was denied.
Gallagher’s shot from the boards along the goal-line squeaked by Rittich’s blocker at 9:51.
"They generated a lot of momentum off that first goal and mentally I think we went "uh oh,’" Ward said.
Kylington beat Price’s glove with a wrist shot from the slot at 6:35 of the third to temporarily restore Calgary’s lead, but Suzuki deflected a Nick Cousins pass over Rittich’s head at 11:58.
"We knew they were going to shoot pucks from everywhere," Ward said. "Tonight they got pucks to the net and they got a couple big goals. They got one to get them going and they got one to tie it."
Calgary’s power play generated a tic-tac-toe goal with seven seconds left in the first period. Gaudreau sent the puck low to Tkachuk, who stretched Price with a goal-mouth pass for Lindholm to tap in.
From the slot, Lindholm dished to Tkachuk beside the Habs net for the winger to sweep it over Price at 7:34.
The Flames play back-to-back road games Sunday and Monday facing the Dallas Stars and Minnesota Wild, respectively.
The Canadiens continue their road trip through Western Canada on Saturday in Edmonton versus the Oilers and Monday against Winnipeg Jets.
Notes: Canadiens captain Shea Weber extended his point streak to five straight games with an assist … The Flames wore retro white jerseys and Rittich brown throwback pads and gloves. The Habs suited up in their classic reds.