One night after having its six-game winning streak snapped in Edmonton, the Flames returned home and got goals from three different lines before Iginla wrapped up the scoring with an empty-net goal with 37 seconds remaining. Matthew Lombardi and Tony Amonte also scored for Calgary (10-8-2), posting their fifth straight home ice victory. Kristian Huselius had an assist to extend his points streak to five games (four goals, two assists) and Alex Tanguay had two assists for the fifth time in the past six games.
Tuomo Ruutu scored the lone goal for Chicago (7-11-2). Ruutu has scored in each of the Blackhawks' last three games after missing the first ten games of the season with a sprained knee.
The Blackhawks are 1-2-1 on their five-game road trip, which they wrap up Friday night in Edmonton.
Calgary led 2-1 after the first period and the score remained that way until Amonte ended the drought at 8:46 of the third.
Byron Ritchie slid a pass across the top of the crease to Amonte, who knocked it behind Nikolai Khabibulin.
Entering the night with a 15-2-2 career record against Calgary, Khabibulin got the start for Chicago and dominated the Flames early on.
Thanks in part to three consecutive power plays to open the game, Calgary piled up a 9-1 edge in shots before the game was seven minutes old. However, the score remained 0-0 as Khabibulin stymied the Flames time and time again.
The Flames eventually broke through at 7:38 of the first, converting its fourth man advantage. Iginla took Tanguay's pass and one-timed a rising slapshot past Khabibulin.
Calgary increased its lead to 2-0 at 14:57 of the second taking advantage of a Chicago turnover deep in its own end.
Patrick Sharp's attempted breakout pass was intercepted by Huselius, who curled back towards the Chicago net and fed a pass over to Lombardi who one-timed the puck inside the goal post from a sharp angle.
The two-goal lead lasted just 39 seconds though.
Lasse Kukkonen's shot from the blue-line took a fortuitous carom off Carl Corazzini in the slot and bounced to an uncovered Ruutu at the side of the net, who zipped a backhand over Kiprusoff's shoulder.
Khabibulin (5-4-0) finished with 36 saves in his third game since returning from a broken finger.
Notes: - Calgary D Andrei Zyuzin did not play after taking a shot off the foot Tuesday night in Edmonton. Rookie Mark Giordano took his spot ... Chicago RW Carl Corazzini made his season debut after being recalled from Norfolk (AHL) on Monday ... The Flames improve to (6-0-0) in games in which they lead after the first period ... It was Kiprusoff's 76th win as a Flame tying him with Phil Myre on the franchise all-time wins list. Kiprusoff trails Mike Vernon (259), Dan Bouchard (168), and Rejean Lemelin (144).