With the win, the Oilers kept pace in the tight Western Conference playoff race, sitting in a tie with Columbus, one point back of the eighth-place St. Louis Blues.
Brian McGratton scored for the Flames, who saw defenseman Jay Bouwmeester traded to St. Louis shortly before the game.
The Flames have lost two in a row and six of their past eight.
Edmonton scored first just before the four-minute mark to start the opening period as Hall spotted Schultz creeping in from the point and fed him the puck in the slot where the rookie was able to beat Calgary goalie Miikka Kiprusoff for his sixth of the season.
The pair was at it again midway through the first as Schultz picked off a pass in the Calgary zone and sent it to Hall in front. Hall was able to beat Kiprusoff with a deft move and then lift in a backhand for his fourth goal in the past two games.
Edmonton scored on both of its first two shots in the game, similar to what happened in its 4-0 blanking of Vancouver on Saturday.
The Oilers went up 3-0 with 3½ minutes to play in the first as Jones beat Cory Sarich to a puck along the boards and muscled a one-handed backhand shot that got through Kiprusoff.
The veteran goalie was pulled in favor of backup Joey MacDonald after allowing three goals on six shots.
The game slowed in the scoreless second period with the best chances belonging to the Flames, however Edmonton goaltender Devan Dubnyk was able to come up with a pair of big saves on a tip by Curtis Glencross and a nice move by McGratton.
The Oilers put the game away midway through the third as MacDonald got a piece of a Yakupov shot from the slot, only to see it dribble in behind him. It was the first goal in 17 games and seventh on the season for the 2012 first overall draft pick.
Calgary spoiled Dubnyk's hopes of earning a second consecutive shutout with just 1:32 left as McGrattan scored. Dubnyk made 33 saves in the game.
The two teams play again in Calgary on Wednesday.