CALGARY -- Andrew Mangiapane had three goals and an assist, and the Calgary Flames scored five straight times in the third period to rally past the Anaheim Ducks 6-4 at Scotiabank Saddledome on Monday.
Matthew Tkachuk had a goal and an assist for the Flames (31-24-6), who were 0-4-1 in their previous five at home. Cam Talbot made 26 saves.
"It's important," Mangiapane said. "I felt like we were doing good work on the road and we just needed to carry that over to the home. I don't know why or whatever reason why we weren't getting points, but we just have to keep playing the right way. It has to be a tough building to play in and that's what it was tonight."
[WATCH: All Ducks vs. Flames highlights]
Ryan Miller made 37 saves for the Ducks (24-28-7), who are 2-2-2 in their past six games.
"It was more us giving it to them than them taking it to us," Anaheim defenseman Hampus Lindholm said. "That's something you can say. I think we as a team need to find ways to win those games, especially a road game, 3-1 in the third, that's a very good position to be in."
Video: Clutch Performance: Mangiapane gets the hat trick
Mangiapane cut through the slot before lifting a backhand over Miller to cut Anaheim's lead to 3-2 at 4:46, and Sam Bennett shot over Miller's glove 19 seconds later to tie it 3-3.
The goals came after Nicolas Deslauriers scored 3:05 into the period to put the Ducks up 3-1.
"There were some breakdowns and they got the bounces there and got the pucks in," Lindholm said. "We need to find ways to still be in the hockey game even when that happens to us. It felt like the game slipped away from us."
Tkachuk scored his 20th goal of the season on his own rebound to put Calgary up 4-3 at 12:59. Monahan extended the lead to 5-3 after intercepting Lindholm's pass and shooting over Miller's blocker.
"The two points were big. Everybody knew it," Mangiapane said. "We just wanted to dig a little deeper and keep working harder."
Mangiapane completed his first NHL hat trick, and the first by a Flames player this season, into an empty net at 19:03. Devin Shore scored with four seconds remaining for the 6-4 final.
"The way the first two periods went I thought it was just a matter of time," Talbot said. "I thought we were the better team through the first two periods. They just got a couple lucky breaks and made some nice plays. To see us explode for five there was huge and obviously for [Mangiapane] to get us going there and finish it off with a hat trick was huge."
Adam Henrique scored on a backhand under Talbot's arm at 5:53 of the second period to give Anaheim a 1-0 lead. Henrique has six points (four goals, two assists) in his past five games.
Mangiapane scored on a rebound 53 seconds later to tie it 1-1.
Jakob Silfverberg made it 2-1 at 10:37 when he deked Talbot after Noah Hanifin turned the puck over in his own end.
Video: ANA@CGY: Monahan cashes in on turnover down low
They said it
"I think we were playing well in the first two [periods]. I think puck management was big for us, just playing north, chipping it in and going after it and playing hard on the forecheck and funneling pucks to the net. That's key to the game and that's what we showed in the third." -- Flames forward Andrew Mangiapane
Video: Enterprise Hat Trick: Mangiapane nets three vs. Ducks
"I think after the second period we talked about it. We played okay. We were still in the game. They capitalized on every chance we gave them. I don't we played a bad game. Every little mistake, they just dinged us there." -- Ducks forward Nicolas Deslauriers
Need to know
Tkachuk, 22, has eight points (three goals, five assists) in a seven-game point streak. He is the fourth player in Flames history to have three 20-goal seasons prior to his 23rd birthday, joining Sean Monahan (four times), Robert Reichel (three times) and Jarome Iginla (three times). … Miller passed Gilles Meloche for 13th place on the NHL saves list with 21,168. … Flames forward Elias Lindholm had a 10-game point streak end (seven goals, five assists).
Ducks: Host the Florida Panthers on Wednesday (10 p.m. ET; PRIME, FS-F, NHL.TV).
Flames: Host the Boston Bruins on Friday (9 p.m. ET; ESPN+, SN1, SNE, SNO, SNP, NESN, NHL.TV).
Video: Mangiapane scores hat trick in Flames' 6-4 win