Olen Zellweger scored for the Ducks (33-34-8), who were eliminated from playoff contention with the loss. John Gibson allowed three goals on 26 shots before he left the game following the second period because of a lower-body injury. He was replaced by Lukas Dostal, who stopped seven of eight shots.
There was no update on Gibson's status postgame.
"We looked a little tired or something, not really competing like we need to be," Zellweger said. "Obviously because of that we're giving up way too many chances against. There were a few good moments throughout the game, but overall we have to be way better, way more competitive and complete. It's unfortunate, our effort that game."
Anaheim, which finished with 59 points in 2023-24, has improved to 74 this season with seven games remaining.
"As much as it's disappointing tonight, I think from the big picture we took a step in the right direction," Ducks captain Radko Gudas said. "You can see the guys here that are young and wanted to get better, they want to get better every game we play. I thought for us, obviously not a successful year because of (missing) the playoffs, but I think it was a step in the right direction for the organization and the future is going to be bright if we can keep this group together."
Kadri scored 16 seconds into the first period to give the Flames a 1-0 lead, a wrist shot short side by Gibson's blocker off a 2-on-1 rush.
"That's absolutely ideal for a scorer, to be scoring on the first shift," said Kadri, who has 11 goals in his past 16 games. "Great play up the wall, good execution, good chip out, and I was just able to pick my spot, and it certainly felt nice."
Zellweger tied it 1-1 at 8:01 when he finished a three-way passing play with Troy Terry and Ryan Strome with a backdoor tap-in.
"I decided to just hang out weak side, backdoor there, and Strome ended up getting some open ice and hit me backdoor there," Zellweger said. "That was a great play by those guys."