Blake Comeau finished with a goal and two assists, while Jay Bouwmeester and Mikael Backlund also scored for the Flames, who have won two straight and five of their last seven. Miikka Kiprusoff made 21 saves in the victory.
Calgary has also won nine consecutive games and 18 of the last 21 matchups with the Oilers.
Ryan Smyth contributed a goal and an assist and Andy Sutton scored. Nikolai Khabibulin was tagged for four goals on just 16 shots and backup Devan Dubnyk gave up one goal on six shots in relief. Edmonton has lost three straight and eight of its last nine contests.