Nick Ritchie had a goal and an assist, and Andrew Mangiapane and Nikita Zadorov also to help Calgary win a season-high fourth straight game. Tyler Toffoli had two assists.
Calgary remained two points behind Winnipeg for the second wild card in the Western Conference. The Jets beat New Jersey 6-1 earlier Sunday.
“Winnipeg won, so we needed to do our part,” Lucic said. “Five games left, we’re probably going to have to win all of them.”
The Flames were winless when trailing after two periods through their first 75 games. They’ve now won back-to-back down after 40 minutes following Friday’s 5-4 overtime win at Vancouver.
“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.”
Lucic tied the score 4-4 at 6:26 of the third. After defenseman MacKenzie Weegar blocked a shot in the defensive zone, Blake Coleman fed Lucic to score far side off the rush for his seventh of the season.
Stone, playing his first game for the Flames since Feb. 18 because of a lower-back injury, let loose a slap shot from the point that beat goalie Lukas Dostal for the go-ahead goal with 2:38 remaining. It was his sixth.
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.
Jacob Markstrom gave up two goals on nine shots in the first period and was replaced by Dan Vladar, who stopped 11 shots over the final two periods to pick up the win.
“Just trying to get a little more jump,” Flames coach Darryl Sutter said. “If we don’t get points we’re out of it right? Trying to make every game meaningful.”
Frank Vatrano had two goals and an assist, Max Comtois had a goal and an assist, and Scott Harrington also scored for Anaheim. Kevin Shattenkirk had two assists and Dostal made 36 saves.
“I thought it was a really great effort by the group,” Ducks coach Dallas Eakins said. “Back-to-back games for us and just an absolutely desperate team over there fighting for a playoff spot - heartbreaker.”
Vatrano gave the Ducks a 1-0 lead at 4:17 of the first with a rising shot that beat Markstrom's glove. It marked the 10th time Calgary gave up a goal on an opponent's first shot of the game - the ninth time against Markstrom.
Markstrom stopped Max Jones on a breakaway with eight minutes remaining in the opening period.
Comtois doubled the lead with 2:10 remaining in the opening period as he converted the rebound of Vatrano's shot.
The Flames scored the next three goals to take the lead.
Mangiapane got Calgary on the scoreboard with a power-play goal 33 seconds into the second period. With Colton White serving a hooking penalty, Mangiapane wired a wrist shot from the top of the faceoff circle over Dostal’s stick for his 16th.
Zadorov got a pass from Jonathan Huberdeau and rifled the puck far side over Dostal's glove for his 10th at 7:12 of the middle period to tie the score.
Ritchie put the Flames ahead 3-2 a little more than a minute later as he tipped Troy Stecher's shot from the point past Dostal. It was his 13th.
Vatrano's second of the night and 20th of the season tied it at 9:16 as he knocked in a rebound over Vladar's glove.
Harrington put the Ducks ahead 4-3 with 7:04 left in the second as he beat Vladar with a point shot through traffic.
NOTES Calgary went 8-5-2 in March. ... The Flames took the season series over the Ducks 3-1-0. ... Flames D Chris Tanev sat out a sixth straight game with an upper-body injury.
Ducks: Host Edmonton on Wednesday night.
Flames: Host Chicago on Tuesday night in the finale of a two-game homestand.
AP NHL: https://www.apnews.com/hub/NHL and https://www.twitter.com/AP-Sports
Copyright 2023 STATS LLC and Associated Press. Any commercial use or distribution without the express written consent of STATS LLC and Associated Press is strictly prohibited.