Planted in the slot, Phaneuf one-timed a nifty pass from Kristian Huselius past Edmonton netminder Dwayne Roloson to give the Flames their first lead of the game.
Jeff Friesen and Matthew Lombardi also scored for the Flames (24-15-4), who went 2-for-4 on the power play during the contest. The Flames have now won five straight games and remain in first place in the Northwest Division.
Shawn Horcoff scored the lone goal for the Oilers (21-20-4), who have lost two straight games.
After a scoreless opening frame, Horcoff scored at 5:03 of the second period with the Oilers on a man advantage. Calgary netminder Miikka Kiprusoff made the initial save off a shot by Ales Hemsky before Horcoff picked up the rebound and swept it in, putting Edmonton up 1-0.
The Flames responded with a power-play goal of their own at 8:37 of the second when Friesen skated out from the corner and roofed a perfect top-corner shot over Roloson's glove.
It was Friesen's first goal as a Flame and first in 51 regular season games since he scored as a member of the Anaheim Ducks on March 12, 2006.
Seven minutes into the third period, Edmonton forward Jarret Stoll one-timed a shot on the Calgary net forcing Kiprusoff to make a nice save to keep the contest tied at 1-1.
Kiprusoff finished the game with 21 saves to improve his record to 22-14-3, while Roloson made 18 saves as his record fell to 18-17-4.
Notes: Calgary captain Jarome Iginla missed his fourth straight game with a knee injury he suffered in Calgary's 5-4 overtime win over the Florida Panthers on Jan. 4. ... In his first five games since returning from a fractured right thumb, Ryan Smyth scored five goals and added five assists. Since then, he's had just two assists in five games. ... Daymond Langkow's four-game scoring streak ended. The Calgary forward has six goals and six assists in his last nine games.