"It feels awesome," said Iginla, who entered second in the league with 48 points. "It's one of the most enjoyable little stretches I've been on since being here."
Adrian Aucoin and Alex Tanguay also scored for Calgary, which wrapped up a perfect six-game road trip to get one win shy of tying the franchise's longest road winning streak of seven, set in 1988. It's the team's longest winning streak away from home in nearly four years.
"It's time to go home," Flames coach Mike Keenan said. "They've put a lot of work in. We've had a lot of travel so they need a break now. Need to go home and get some rest, see their family."
Kristian Huselius had two assists for the Flames, who have only an overtime and a shootout loss in their last nine contests.
The Blue Jackets have one regulation win in their last five. They were the latest team unable to stop Iginla, who extended his goal-scoring streak to five games, and his linemates.
Keenan put the Flames' captain with Huselius and the feisty Daymond Langkow on Dec. 1. Since then, they have combined for 22 goals, 20 assists and 42 points in nine games.
"We're finding ways to win and it feels great," Iginla said.
Curtis Glencross scored for Columbus, which had difficulty creating many dangerous chances around the Calgary net.
"Our execution wasn't good," Blue Jackets captain Adam Foote said. "They're a team that takes away the easy play and wants you to make the hard play."
Columbus didn't help its cause early, giving Calgary a lengthy two-man advantage.
Aucoin fired a slap shot from the left circle over the shoulder of Pascal Leclaire, who was screened by Iginla, at 3:37 for his sixth goal to make it 1-0.
Late in the period, three Columbus players slammed Iginla into the boards in front of the Blue Jackets' bench. The Flames took exception and Iginla was furious, immediately squaring off with Jared Boll while Calgary's Eric Nystrom tangled with Ole-Kristian Tollefsen near center ice.
Things were calm early in the second period until an unmarked Tanguay coasted into the Columbus zone and scored with a low slapshot from the left circle for his eighth at 3:49 for a four-on-four goal to increase Calgary's lead.
"It gets us back in the thick of things," he said. "It's great timing, before Christmas."
The Blue Jackets responded with their own four-on-four score three minutes later. Defenseman Kris Russell rushed the puck to the Flames blueline before passing to Glencross, who beat Kiprusoff for his sixth to put Columbus on the board.
Moments later, Kiprusoff made some of his best saves of the night, stopping Jiri Novotny on a breakaway and Sergei Fedorov's hard shot.
Iginla took back the momentum, slotting home a rebound from a hard angle at 8:59 to make it 3-1. Iginla has 10 points in his last four games.
"We played a hard road game tonight again and Kiprusoff was good when we needed him," Keenan said. "They pressed us hard and special teams had a significant difference tonight."
The Flames' Stephane Yelle played in his 800th career game. ... The Blue Jackets finished 0-for-6 on the power play and are 4-for-34 during December. ... Calgary snapped a two-game losing streak in Columbus. ... Jason Chimera played in his 195th straight game as a Blue Jacket to set a new franchise record.
Copyright by STATS LLC and The Associated Press
Arena: Nationwide Arena Location: Columbus, Ohio
Referees: Dave Jackson, Chris Rooney Linesmen: Andy McElman, Mark Pare
Attendance: 13,181 (72.7% full)
Team Stat Comparison
Power Play Goals
Power Play Opportunities
Shots on Goal
Adrian Aucoin (6)
(Power Play) Assists: Kristian Huselius, Dion Phaneuf
Alex Tanguay (8)
Assists: Anders Eriksson, Craig Conroy