Calgary restored the two-goal lead on Mangiapane's second of the game, another redirection of Hanifin's shot from the left point at 6:43 of the second period to make it 3-1.
"We just kept rolling lines, trying to keep our centermen low as much as possible," Flames coach Darryl Sutter said. " … It's a process for our team in terms of learning how to play really hard, physical games, and it shows up."
Mangiapane is tied for second in the NHL with 14 goals, 13 of which have come on the road. Edmonton Oilers forward Leon Draisaitl leads the League with 18.
Calgary concludes a seven-game road trip (3-1-2) at the Boston Bruins on Sunday.
"I'm playing with good players (Blake Coleman and Mikael Backlund). They're finding me the puck right now," Mangiapane said. "I'm just happening to put them home. … I think we played a solid game tonight, and we're going to need more of that tomorrow."
Nelson scored his second of the game at 1:49 of the third period on a one-timer in front to make it 3-2.
He was then denied a hat trick and the chance to tie it when Markstrom made a pad save on his wrist shot with 3:40 remaining. Grant Hutton, who was making his NHL debut, shot wide on the rebound.