"I thought it was going to be a penalty shot," Iginla said. "I was upset with the whole play."
Kristian Huselius also scored and added an assist for Calgary, which has won four straight games to start a five-game road trip. The Flames moved two points ahead of Vancouver for first place in the Northwest Division.
"Lately he has been dominating games," Kiprusoff said of Iginla. "It's easy to follow when our leader is playing great."
Ales Hemsky scored for Edmonton, which lost its fourth straight home game and fell seven points behind the Flames.
Kiprusoff made several spectacular saves, including one on the charging Jarret Stoll in the third period, in his 11th straight start.
Hemsky scored off a goal-mouth scramble in the second period for Edmonton.
The sellout Rexall Place crowd of 16,839 was loud early, but that died down after Huselius and Iginla, with his second, scored goals to make it 3-1.
"They outplayed us pretty significantly," Oilers coach Craig MacTavish said.
Iginla nearly had a third goal in the third period but it was called off after video review determined it was gloved into the net.
"He was a handful for us all night," MacTavish said.
Oilers forward Michael Peca had a clearing attempt go off his helmet early in the first period before getting off the first shot at Kiprusoff, who made that save and a pair of glove stops off Steve Staois and Ryan Smyth.
"Scoring and points have become more important than winning hockey games," Peca said. "We've got to get it out of our game."
Mike Morrison allowed three goals on 13 shots after making his second start for the Oilers since returning from a seven-game stint in the East Coast Hockey League.
Following a turnover in the Oilers end, Matthew Lombardi spotted Iginla alone at the side of the net for a tip-in goal at 7:04 of the first period.
Huselius then scored 16 seconds after Hemsky in the second period for a 2-1 advantage, and Iginla added a power-play goal for his team-leading 23rd of the season a short time later.
- The Flames improved to 14-3-2 against Northwest Division opponents
- Oilers D Igor Ulanov returned after missing six games because of a sore knee.