Stephane Yelle, David Moss and Jarome Iginla also scored for the Flames, while Fernando Pisani had both goals for Edmonton.
With the win Calgary (35-21-9) moved one point ahead of both San Jose and Minnesota for sixth place in the Western Conference. Edmonton (30-30-6) has lost their last four straight and is a distant 12 points out of a playoff position.
The Flames jumped out to a 1-0 lead after an Oiler miscue just over seven minutes in when Shawn Horcoff lost the handle on a breakout pass. Kristian Huselius was there to backhand the puck to a wide-open Moss in front of the net who beat Edmonton starter Dwayne Roloson glove side.
But the Oilers were finally able to find a semblance of their scoring touch a couple minutes later when Pisani picked up a goal on a rebound off of Calgary netminder Miikka Kiprusoff. Pisani's goal ended a scoreless slump of 142:36 for the Oilers, dating back to their loss in Minnesota on Feb. 25.
Calgary regained their lead just over the 12-minute mark as Roloson flubbed an attempt to smother the puck on a chip shot from Yelle and the puck snuck in, putting the Flames ahead 2-1 after the first.
Edmonton knotted the game up again midway through the middle frame as Marc Pouliot found Pisani on a 2-on-1 break and the Edmonton native unleashed a rocket top shelf for his second of the night.
Calgary once again surged ahead just 1:56 into the third as Langkow's shot from the right circle found a hole between Roloson's shoulder and the crossbar to put the Flames up 3-2.
And they salted the game away just three minutes later as Iginla was able to send a shot five-hole through a sliding Roloson for his 31st of the season.
The Flames play the middle match of a three game road swing in St. Louis on Tuesday while the Oilers finish off a four-game homestand when they welcome the Tampa Bay Lightning on Wednesday.
NOTES: Edmonton forward Ales Hemsky left the game in the first period with an upper body injury after a collision with Brad Stuart and did not return. ...Pisani's first period goal ended the third longest scoring drought in Oilers team history. ... Pisani also notched the last goal his team had before embarking on the scoreless streak. The current slump was only 4:05 short of the second worst scoring shortage in 2003 and 14:05 less than their worst power outage in 1990. ... Future Hall of Famer Mark Messier was still in Edmonton on Saturday and tried to help motivate his former team as he took to the ice with the Oilers during their morning skate. Messier had another reason to get in a workout though as he and a team of former NHLers will be going head-to-head against the Texas Tornado of the NAHL on March 17. Mark's son Lyon plays with the Tornado. .. Stuart has only one point in 10 games since joining the Flames, an assist on Robyn Regehr's tying goal against Minnesota on Wednesday.