Boeser scored another power-play goal on a one-timer at 7:47 to bring the Canucks within 5-3, and Miller scored shorthanded at 11:28 to make it 5-4.
"Wow, what a third," coach Travis Green said. "We had probably more chances in the third than some of our games, so our guys showed a lot of character tonight."
Josh Leivo put the Flames ahead 1-0 at 9:30 of the first period on a breakaway after intercepting a pass at the blue line, and Milan Lucic had a pass from Leivo bounce in off his skate to make it 2-0 at 5:48 of the second period.
Matthew Tkachuk scored for the third straight game to make it 3-0 at 7:17, and Mangiapane converted a backdoor pass at 8:05 to put Calgary ahead 4-0.
Travis Hamonic scored off the rush at 13:21 to cut it to 4-1, but Mangiapane put the Flames up 5-1 at 14:03 on a one timer from the left face-off circle.
"We got guys in the room that really care, so nobody was happy with how our second period went," Hughes said. "I think we really wanted to just come out in the third, you know, try our best and see what we can do."
NOTES:Ruzicka had one shot on goal and one hit in 9:46. … Calgary forward Johnny Gaudreau had an assist and has scored 18 points (six goals, 12 assists) in the past 14 games. … Tkachuk has scored six points (three goals, three assists) in a three-game point streak. … Canucks forward Bo Horvat played his 500th NHL game. … Vancouver forward Jonah Gadjovich made his NHL debut. He was minus-1 and had 17 penalty minutes in 4:55. … The Flames were 0-for-6 on the power play and the Canucks were 2-for-4. … Canucks goaltending coach Ian Clark worked his 1,500th NHL game.