Mikael Backlund, Rene Bourque and Derek Smith also scored for the Flames (11-12-2), who have won three of their last four games overall, and seven in a row and 16 of their last 18 over provincial rival Edmonton.
Iginla said his team looked to be in some real trouble at the start.
"It could have gotten away from us there," he said. “"hey were really rolling. I thought we were going to get a beating. Fortunately we took a timeout and calmed down and came right back with a goal on the power play and got our feet back into us and back into it."
Jokinen said the Flames needed to stop playing a run-and-gun game with the Oilers and play the way they wanted to.
"It wasn't the start we wanted to have," he said. "We needed to get back to our game and play good defence against this team. They are probably the most skilled team in the National Hockey League. They have a lot of offence. If you try to play their style, you are going to lose 10-0."
"We got a two-goal lead and thought it was going to be easy, but it's never easy," Gagner said. "We've got to find a way to rectify that."
Oilers head coach Tom Renney agreed his team has some work to do at the moment.
"Calgary found a way to fight their way back into it," he said. "We've got to continue to compete, and harder than we have been lately, because it hasn't been enough."
There was a hectic start to the game with three goals scored before four minutes had been played.
The Oilers got the scoring started just over two minutes in with a strange goal. Darcy Hordichuk threw a puck on net with a penalty coming, only to have it hit Petrell in front and carom past Flames starter Miikka Kiprusoff.
The Oilers then made it 2-0 41 seconds later as Sam Gagner sent a long rising shot that beat Kiprusoff high to the stick side for his first goal of the season, prompting Calgary to call a timeout.
The move seemed to calm the Flames down, and they replied with power play goal 49 seconds later as Iginla made a nice feed from behind the net to Jokinen, who slid the puck through Nikolai Khabibulin's legs.
Calgary then drew even less than seven minutes into the first as Bourque dove to sweep a rebound past Khabibulin.
Both goalies seemed to calm down for the remainder of the first with Kiprusoff making a breakaway wave on Ryan Smyth and Khabibulin making a big glove save on a short-handed opportunity for Mikael Backlund.
Edmonton seemed to have suffered a setback before the midway point of the second as captain Shawn Horcoff took a cross-check to the midsection from Calgary's Jay Bouwmeester and left the game in obvious distress, only to return a couple of shifts later.
The second period remained scoreless, largely thanks to the play Khabibulin who made a huge kick save on a blistering power-play shot by Lee Stempniak.
Edmonton regained its lead five minutes into the third period as Kiprusoff allowed a huge rebound off of a soft Jordan Eberle shot to come out to Nugent-Hopkins, and the rookie scored his 12th goal of the season.
Calgary came back to tie the game up at 3-3 less than a minute later as Iginla fed it forward to Smith, who had joined the rush from the defence and picked the top corner of the Edmonton goal.
The Flames then took their first lead with just over 10 minutes to play in the third as Backlund gave an Iginla power play shot a bit of added juice on its way into the net for his first goal of the season.
Edmonton pulled Khabibulin with less than two minutes to play and buzzed all over the Calgary net but ended up allowing a late empty netter to Jokinen.
The Flames get right back at it on Sunday night in Vancouver. The Oilers are off until Wednesday, when they will play host to the Carolina Hurricanes.
Notes: It was the second of six meetings between the provincial rivals. The Flames won the first match 2-1 in Calgary early in the season. Coming into the match Calgary had won six in a row over Edmonton and 15 of the last 17 meetings between the two teams… Kiprusoff was 11-1-0 with a 2.29 goals-against average in his previous 12 starts against the Oilers. ... Ryan O’Marra remained in the lineup for the Oilers with Anton Lander out with a hand infection. Edmonton was also without the services of F Taylor Hall (shoulder), F Ben Eager (back), and D Corey Potter (ankle)… Calgary was without D Anton Babchuk (hand), F forward David Moss and D Mark Giordano. … Nugent-Hopkins seems to save his best efforts for when the Oilers play the late game on CBC’s "Hockey Night in Canada." with a hat trick and a five-assist night on HNIC already to his credit coming into Saturday’s match.