Yegor Sharangovich then scored into an empty net with 1:22 left for the 4-2 final.
"It's not easy when you're in a stretch like this to start the year. You want to see the players have results," Calgary coach Ryan Huska said. "It's nice to see the pieces kind of come together a little bit more than they have the prior five games, so there were a lot of positives from the group tonight."
Aydar Suniev had a goal and an assist, and Adam Klapka also scored for the Flames (1-5-0), who ended the longest losing streak to start a season in franchise history. Dustin Wolf made 23 saves.
"We've been battling hard the last few games and just can't seem to get over that hurdle," Wolf said. "It was nice to see one finally go in the net to give us two points."
Beckett Sennecke and Leo Carlsson scored, and Lukas Dostal made 32 saves for the Ducks (4-2-0), who were coming off a 4-2 win in Calgary on Saturday, their second straight victory.
"It's hard to beat a team twice in a row and they're hungry," Sennecke said. "They'd lost five or six in a row, so we knew they were going to come with a push."
Anaheim forward Roger McQueen, a first-round pick (No. 10) in the 2025 NHL Draft, made his NHL debut. He had one shot on goal in 11:26 of ice time.
"He gave us a different look, a right-side guy, and that's a look that maybe he can help us in," Ducks coach Joel Quenneville said. "I think he had a couple dangerous plays there and almost got one."
Klapka gave Calgary a 1-0 lead at 8:32 of the first period, the first time Anaheim surrendered the opening goal this season.
Anaheim forward Jeff Malott failed to connect with Tim Washe on an outlet pass and the puck went to Maxim Tsyplakov in the slot. He dropped the puck for Klapka, who scored with a snap shot from above the hash marks.
"I'm happy I scored, but obviously it's more important that we get a win," Klapka said.