Flames defenceman Michael Stone put his notoriously heavy shot to use for the game-winner.
In his first game back in the lineup since Feb. 18, when he sustained a lower-body injury, Stone’s howitzer from the point went off the post to the right of Ducks’ goalie Lukas Dostal and in for the winner at 17:22 of the third period.
Stone credited his teammates’ work in winning the offensive-zone draw to get him the puck.
“I had a little bit of time to wind up,” Stone said.
Calgary (37-26-15) won a fourth straight game for the first time this season.
The Flames were winless when trailing after two periods through 75 games.
They’ve now won back-to-back down after 40 minutes following Friday’s 5-4 overtime win over the host Vancouver Canucks.
“It’s the right time of year to do it,” Stone said. “It would be better if we were in a different position, but it’s good we’re stringing some wins together.”
Calgary remained two points back of the Winnipeg Jets holding down the final wild-card spot in the NHL’s Western Conference.
The Jets beat the New Jersey Devils 6-1 on Sunday.
The Nashville Predators were three points back of Calgary, but with two games in hand.
“Winnipeg won, so we needed to do our part,” said Flames veteran Milan Lucic. “Five games left, we’re probably going to have to win all of them.”
Lucic contributed a third-period equalizer.
The Flames trailed 2-0 when Andrew Mangiapane, Nikita Zadorov and Nick Ritchie rattled off unanswered goals early in the second.
Calgary’s Tyler Toffoli and Nazem Kadri each had two assists.
After stopping seven of nine shots in the first period, starter Jacob Markstrom was replaced by Dan Vladar, who earned the win with 11 saves.
Calgary’s coach Darryl Sutter said he swapped goalies for the same reason he juggled his forward lines throughout the game.
“Just trying to get a little more jump,” Sutter said. “If we don’t get points we’re out of it right? Trying to make every game meaningful.”
Frank Vatrano score twice and had an assist for Anaheim (23-43-10), which led 2-0 and 4-3 at period breaks.
Max Comtois had a goal and an assist and Scott Harrington also scored for the Ducks playing their second game in as many days after falling 6-0 to the Edmonton Oilers on Saturday.
Anaheim’s Kevin Shattenkirk assisted on two goals.
Dostal made 36 saves in the loss after stopping eight of eight mopping up in Edmonton the previous night.
Lucic’s equalizer at 6:26 of the third started with teammate MacKenzie Weegar blocking a shot in the defensive zone.
Blake Coleman off the rush fed Lucic, who stretched to get a shot away that beat Dostal far side.
“You want to score big goals in big moments and I was able to do that to get it to 4-4,” Lucic said.
“Then a big faceoff win, Stoney back in the lineup and lets his signature bomb go, and we get the win.”
Harrington threaded a shot from the point through traffic at 12:56 of the second period for a Ducks’ 4-3 lead.
Vatrano chipped a rebound over Vladar’s glove at 9:16 for his second of the game.
Ritchie tipped in Troy Stecher’s shot from the point for a 3-2 Flames’ lead at 8:18, and just over a minute after Zadorov drew the hosts even.
Mangiapane halved a two-goal deficit with a power-play goal 33 seconds into the second period.
The visitors led 2-0 on Comtois’ power-play goal in the first period.
Calgary’s opposition scored on its first shot of the game for the 10th time this season — the ninth time on Markstrom — when Vatrano’s rising shot beat Markstrom’s glove at 4:17.
But Markstrom also stopped Max Jones on a breakaway later in that period.
“We let Marky down,” Toffoli said. “We definitely didn’t play well in the first (period), second as well. Dan made some big saves for us.”
The Flames are at home Tuesday to the Chicago Blackhawks and on the road Wednesday against the Winnipeg Jets.