Curtis Joseph made his first start in goal for the Flames after signing with the team last month. He made 23 saves.
Calgary has dropped two in a row after winning four straight.
"I would have liked to have come out of the first with nothing against," Joseph said. "That gave them some life, you could tell. As a goaltender you want to make the big saves."
Edmonton took the lead 6:24 in when Andrew Cogliano hit Pisani with a pass in front of the net. Joseph made the initial stop but Pisani slid the rebound under his pads.
The Oilers extended their lead with just 35 seconds remaining in the opening period as Geoff Sanderson took a rebound behind the net and made a deft no-look feed to Penner, who beat Joseph with a hard wrist shot to his glove side.
Edmonton made it 3-0 5 minutes into the second on the power play. Joseph allowed a big rebound on a point shot by Jarret Stoll. Gagner's follow shot caromed off of Hemsky and in.
Calgary had a chance to get back into the game early in the third when Stoll took a double-minor for high-sticking, but the Flames were unable to put a puck past Garon.
"We just didn't have any life in the beginning, I have no idea why," Calgary coach Mike Keenan said. "That's the coach's responsibility to make sure the team's ready and they weren't ready so I take full responsibility for the really poor outing."
A fight-filled game nearly got out of hand with 7 minutes gone in the third.
Flames forward Eric Godard gave Garon a shove into the post, sparking several altercations. Joseph even skated the length of the ice before things calmed.
"I don't think there is any point in fighting the other goalie," Garon said. "The last year the same thing happened and we didn't fight then either."
Oilers coach Craig MacTavish called the scene a "circus show."
"It's maybe a strange tactic for a team like Calgary that depends so heavily on (Miikka Kiprusoff) to be targeting the opposition's goaltender," he said. "Those kinds of things have a way of coming back at you."
Keenan said he wasn't sure what Godard was thinking.
"It was a very undisciplined play that will cost him in the end because he's going to be suspended, that's his third game misconduct and he probably knows that so I have no idea why he acted the way he did," he said. "It's certainly not condoned by our coaching staff and our team."
Edmonton ended up with a 7-minute power play as a result, and the Oilers put the game out of reach with a pair of power-play goals just over a minute apart. The fourth goal came on a point blast from Staios, quickly followed by a goal on a wrist shot by Gagner.