Niklas Hagman, Jon Rheault and T.J. Brodie also scored for the Flames (6-0-0). Henrik Karlsson stopped 20 shots.
Steve MacIntyre scored for the Oilers (4-1-0).
McIntyre gave Edmonton a 1-0 lead with his score less than 3 minutes into the second period.
Hagman tied the score just past the midpoint of the period, sending a wrist shot that clipped Oilers defenseman Tom Gilbert and got past goalie Nikolai Khabibulin.
Iginla gave the Flames a 2-1 lead with 16.8 seconds remaining in the second, skating past Theo Peckham and chipping a shot past Khabibulin. Iginla then scored 13 seconds into the third period, taking a pass from behind the net by Alex Tanguay and knocking a shot off the crossbar that landed behind Khabibulin. The puck went in off the goalie's skate when Shawn Horcoff tried to sweep it away.
Rheault's quick shot beat Khabibulin glove-side with 2:25 left, and Brodie's power-play goal with less than a minute remaining capped the scoring.
NOTES: This was the first of three consecutive games between the Alberta rivals. The teams play again on Sunday in Calgary and then start the season against each other in Edmonton on Thursday. ... Oilers D Sheldon Souray and G Martin Gerber both cleared waivers on Friday after being put up for grabs the previous day. ... Flames stars Olli Jokinen and Rene Bourque both remained in Calgary. Jokinen is nursing a strained torso muscle, while Bourque's injury has not been released. Daymond Langkow (neck), Matt Stajan (shoulder) and Ryan Stone (knee) remain out indefinitely. . . Calgary's Ales Kotalik had to be helped off the ice after getting hurt in a scrum in front of the Oilers net in the second period.