Trailing 4-1 late in the second, the Ducks scored three unanswered goals to pull even before Perry’s sharp-angled shot deflected off bodies and by Flames goalie Brian Elliott at 1:30 in the extra period.
"You just keep pushing shift after shift, get pucks to the net and we found a way tonight," said Perry. "That’s all that matters."
With their biggest post-season comeback in franchise history, Anaheim took a 3-0 stranglehold in the best-of-seven Western Conference quarter-final series.
Calgary must win Wednesday’s Game 4 at Scotiabank Saddledome to avoid a sweep.
Up 2-1 and 4-2 at period breaks, the Flames started stronger, were more disciplined with just one minor penalty and were sharper in the faceoff circle than they had been in a pair of 3-2 losses to open the series in Anaheim.
But Calgary squandered that effort. Elliott began fighting the puck while the Flames allowed the Ducks to get bodies in front of the net to score on deflections.
"It’s not easy to win in this league, but I think we have what it takes here in this dressing room and we’re going to have to find a way," Flames forward Sean Monahan said.
Shea Theodore kicked off Anaheim’s comeback scoring the first of his two goals with 49 seconds left in the second period.
"We couldn’t seem to make two passes together for a better part of I’d say the first two periods," Anaheim head coach Randy Carlyle said.
"Then we got a goal and it gave us some life and made us believe that we have a chance. This is playoff hockey and momentum swings within the game, from shift to shift."
Nate Thompson had a goal and two assists and Nick Ritchie also scored for the Ducks. Defencemen Kevin Bieksa and Hampus Lindholm each had two assists.
Ducks starter John Gibson was replaced by Jonathan Bernier following Calgary’s fourth goal. Gibson stopped 12 of 16 shots with Bernier turning away all 16 he faced in relief for the win.
"He was called upon to make some big stops and he made them and we were able to build off it," Carlyle said.
Monahan, Kris Versteeg, Sam Bennett and Michael Stone replied for Calgary.
Elliott, who turned away 22 of 27 shots in the loss, allowed three goals on a combined 13 shots in the third period and overtime.
"It’s not an easy one, especially personally," Elliott said. "I didn’t feel I played really well. I let the team down a little bit."
Calgary’s 31 penalty minutes were a factor in its two losses in Anaheim. The Ducks paid the price early for undiscipline Monday.
The Flames scored three power-play goals on five chances in the first two periods. But Anaheim pushed back.
Ducks captain Ryan Getzlaf and Perry are the two remaining players from Anaheim’s Stanley Cup win in 2007. Getzlaf’s leadership helped spark his team when they were trailing.
"We got kind of down on ourselves," Theodore said. "We have some leaders on our team like Getzlaf and he perked us up a little bit."
Perry had a goal and an assist for a career 80 playoff points and was plus-five on the night.
Flames captain Mark Giordano was soundly booed in Anaheim because of a regular-season collision with Cam Fowler that took Anaheim’s big-minute defenceman out of their lineup to start this series.
Calgary fans responded by adopting Bieksa as the Saddledome villain Monday.
Ducks defenceman Sami Vatanen skated in the morning, but was scratched a second straight game. He sustained an upper-body injury when he was checked by Calgary’s Lance Bouma in Game 1.
Fowler skated after his teammates in the morning. Carlyle said the 25-year-old from Windsor, Ont., is recovering from his knee injury, but did not provide a timetable for Fowler’s return.
"We think that he’s on pace to be available to us some time here shortly," Carlyle said.