The puck deflected off Kadri driving the net at 1:01 of extra time. The goal was reviewed for goaltender interference, but it stood as the winner.
Defencemen Noah Hanifin, Chris Tanev and MacKenzie Weeger also scored for Calgary (10-10-3), which improved to 6-3-1 in its last 10 games.
Jacob Markstrom assisted on the overtime winner and had 13 saves in the win less than a week after the Flames scored four third-period goals for a 7-4 win in Dallas.
Mason Marchment scored a pair of goals, including a penalty shot, for the Stars (13-5-3). Thomas Harley also scored for Dallas Stars starter Scott Wedgewood made 32 saves in the loss.
Three hours before Thursday’s puck drop, the Flames announced the trade of defenceman Nikita Zadorov to the Vancouver Canucks for a 2026 third-round draft choice and a fifth-round pick in 2024.
The six-foot-six Russian confirmed Nov. 11 he was talking trades with the Flames after his agent had stated concerns on social media the previous day about his client’s ice time and had cast doubt on Zadorov’s long-term future in Calgary.
Defenceman Jordan Oesterle was called up Wednesday.
The two sides were tied 2-2 after a goal-free second period Thursday. Marchment scored on a penalty shot at 1:49 of the third for a 3-2 visitors’ lead. He ripped the puck by Markstrom’s glove after Tanev hauled down Marchment on a breakaway up the middle.
But Weeger lofted a shot from the blue line past a screened Wedgewood with 2:41 remaining in regulation to tie the game.
Dallas successfully challenged what would have been a Mikael Backlund goal with 5:01 remaining in regulation when Calgary’s captain tipped a Hanifin shot by Wedgewood. The Stars argued there’d been a hand pass in the offensive zone.
Calgary was scoreless on a power-play chance in the second and third periods to go 0-for-2, and extend its cold spell with a man advantage to 1-for-31.
Calgary led 2-1 by 15:30 of the first period when Hanifin batted in a deflected puck into the net following a Dallas turnover in the neutral zone.
But the Stars knotted the score with a minute remaining in the period on a broken play off a draw. The puck landed on Marchment’s stick for him to fire by Markstrom’s blocker.
Tanev, who blocked a shot with his face in Monday’s 2-1 overtime win over Vegas and finished that game, pulled the Flames even at 8:02.
The defenceman banked a sharp-angled shot off Stars defenceman Ryan Suter’s skate and by Wedgewood for Tanev’s first of the season. Tanev also blocked a Sam Steel shot from close range in the second period.
After Blake Coleman was denied by Wedgewood, Dallas scored off the rush on the return trip. Joe Pavelski spun and backhanded the puck to Harley to wire over Markstrom’s blocker at 4:51.
On Saturday, the Stars are at home to the Tampa Bay Lightning and the Flames continue a six-game homestand hosting the Vancouver Canucks.