Bouma tied it just over three minutes later after snapping a shot through the pads of Ben Scrivens. The go-ahead goal came 2:33 after that on a power play when Sean Monahan tried to center a pass, but the puck instead deflected past Scrivens off the skate of Oilers defenseman Keith Aulie.

It was the team-leading 16th goal for the 20-year-old sophomore, who also has four game-winning goals.

Bouma wrapped up the barrage converting a 2-on-1 pass from Mikael Backlund for his first career two-goal game at 16:27.

Calgary leads the NHL with 63 third-period goals, which has helped the team win a league-high nine games when trailing after two periods (9-15-1).

Jordan Eberle and Benoit Pouliot scored for Edmonton, which had won three of its previous four. The Oilers remain second-last in the NHL’s overall standings, four points ahead of Buffalo.

Jonas Hiller had 17 stops for Calgary to improve his record to 15-14-2, while Scrivens had 29 saves for Edmonton, falling to 9-17-7.

Edmonton opened the scoring at 2:43 on its second shot of the game. Off a faceoff in the Flames end, Ryan Nugent-Hopkins outworked Matt Stajan for the puck, knocking it into the slot, where Eberle put a quick shot past Hiller.

It was the fifth game in a row that Calgary has given up the first goal.

Eberle was the playmaker on the second goal. With the puck along the end boards, he drew Dennis Wideman toward him, then sent the puck to Pouliot, who was left uncovered in front and he quickly fired a high shot over Hiller for his 11th goal.

Eberle has 11 points– including seven goals — in his last 13 games dating to Dec. 31.

Pouliot has eight goals in his last dozen games since returning from a broken foot, which sidelined him for 18 games.

NOTES: The Flames had gone 105:28 without a goal until Byron scored. … The Oilers’ last three-game road winning streak was March 23 to April 1, 2012. … Jiri Hudler (ill), tied for the Flames lead in points, did not play. In his spot, 25-year-old David Wolf made his NHL debut. However, Wolf (lower body) left in the third period and didn’t return. … Aulie played for the first time since taking a match penalty on New Year’s Eve for a hit on Flames C Matt Stajan. Suspended two games, he had been a healthy scratch since but played Saturday for injured D Nikita Nikitin (shoulder).