"They got some great chances, and Kipper was able to hold the fort," Iginla said.
Semyon Varlamov stopped 16 shots for Colorado.
The Avalanche haven't beaten the Flames since Oct. 28, 2010, in the first meeting between the teams last season. Calgary won the final five matchups last season and the first three this season.
Colorado almost snapped the streak with a rally at home for the second straight game. The Avalanche trailed the New York Islanders 3-0 on Thursday before winning 4-3 in overtime.
"The end was similar to the Islander game," Hejduk said. "It's hard to come back every game."
It proved to be against Kiprusoff. The Avalanche fell behind 4-0 before finally getting a puck past him when Hejduk scored his seventh of the season with 6:44 left in the second period.
Duchene added his sixth goal 26 seconds into the third to cut the deficit to 4-2, and Jones made it a one-goal game when he scored off a deflection with 4:35 left.
"It certainly got interesting in the third, and there's no reason for it," Calgary coach Brent Sutter said. "We were up 4-1 and we allowed them to have the momentum. When you have a team down you have to kick them when they're down."
Varlamov went off for an extra skater with 1:44 remaining, and Olli Jokinen was called for delay of game 10 seconds later to give Colorado a 6-on-4 skating advantage. Kiprusoff made four saves in the final 90 seconds, including a pad stop with 4.2 seconds to go.
"They came hard," Kiprusoff said. "Lots of traffic, and we were able to keep the one-goal lead. We were able to hang in there and get the two huge points."
The Flames continued their dominance of the Avalanche early. Byron scored his first of the season 2:06 in when he slipped past the defense, took a pass from Derek Smith and beat Varlamov.
Glencross made it 3-0 when he scored at 14:11 of the first, 4 seconds after Colorado killed off a penalty to Gabriel Landeskog.
Stempniak scored on a backhand midway through the second period to push the lead to four goals.
"We almost came back, but at the same time you can't spot a team four goals," Colorado defenseman Kyle Quincey said. "Playing catch-up hockey (stinks) and it's too hard to win games like that. You're going to come back once in a while but you're not going to do it consistently."
Calgary's Jay Bouwmeester notched his 200th career assist on Iginla's goal. ... RW David Moss played in his 300th NHL game, all with Calgary. ... Avalanche F Peter Mueller (head) has been practicing with the team but hasn't been cleared to play. He has missed 14 games.