Oilers doubled up 4-2 by Flames
Brad Winchester drew back into the game on the fourth line, slotted alongside Petr Nedved and Zack Stortini.
Dwayne Roloson made a big save six minutes into the game off Kristian Huselius, who took a pass from Daymond Langkow on a two-on-one and fired it on net. Roloson came across to stop the shot and knock it out of harm's way.
Calgary struck for the game's first goal a minute later. David Moss intercepted a failed clearing attempt from Shawn Horcoff. All alone in front of Roloson, he made no mistake by firing his shot low glove side to make it 1-0.
Shortly after the Flames goal, Andrei Zyuzin was sent off for charging. 10 seconds after the penalty expired, Fernando Pisani scored to tie it for Edmonton. Marc Pouliot carried the puck behind the net and then fed Pisani in front who roofed it under the crossbar.
With eight minutes left in the period, Calgary moved back in front. Stephane Yelle fanned on a shot but as Roloson went down to grab the puck it just slipped underneath his glove and in.
Shots on goal after one period were 11-8 for Calgary.
Edmonton had a good opportunity to get back in it early in the second. Eric Godard was sent off for roughing and 19 seconds later, Roman Hamrlik took two for delay of game. The penalties gave Edmonton a lengthy two-man advantage.
48 seconds into the power play, Daymond Langkow cross-checked Stortini. Both players went to the box - Stortini for diving.
Petr Nedved played the point on the man advantage along with Petr Sykora as the Oilers had a different look to their power play with Hemsky out due to injury.
J-F Jacques and Marc Pouliot both had chances to tie the game six minutes into the period. Jacques crashed the net and Kiprusoff stopped his close backhand attempt. The Flames netminder then made another big save off Pouliot's wrister.
Near the midway point of period two, Pisani struck again to tie the game at 2-2. Lupul created a neutral zone turnover before springing Pouliot on a two-on-one with Pisani. He saucered a pass to Pisani who rifled it top corner. The assist for Pouliot was his second of the game.
With Calgary pressuring late in the second, Raffi Torres had his stick broken while blocking a shot but then laid out Craig Conroy along the side boards. His hit ignited the crowd but later in the play he received two for interference while trying to move a Flames skater from in front of the net.
Shots after two periods were 22-19 for the Flames.
Less than two minutes into the third period, Daymond Langkow scored to move the Flames in front 3-2. His shot from the right circle travelled over the shoulder of Roloson and just under the crossbar.
A minute later, Sykora got behind the Calgary defence and stared down Kiprusoff but his shot was knocked away by the Flames goaltender's blocker.
Jarome Iginla doubled the Calgary lead at the 4:29 mark. He took a pass from Tanguay and fired it five-hole through Roloson to up the Flames' lead to 4-2.
Roloson made three straight saves to keep it a two-goal deficit during a Flames power play. He stopped Regehr's point shot and then rebounds from Lombardi and Moss in succession.
A penalty to Steve Staios late in the period snuffed any potential Oilers comeback attempt.
NOTES: Ales Hemsky suffered an upper body injury in the first period after colliding with Brad Stuart behind the Flames net and did not return... The two assists for Marc Pouliot gave him his first career multiple-assist game in the NHL... The win was Calgary's first on the road since January 20th - also against Edmonton.