Sam Gagner scored a goal and added two assists, and the Oilers busted out with four unanswered goals in the second period in a 6-1 victory over the Flames on Tuesday night.
Scott Hannan scored his second goal of the season and first in 52 games to provide the only offense for the Flames (28-23-10), who lost in regulation for the first time since Jan. 31.
Calgary, which fell to 5-1-3 in February, had won 10 straight at home against the Oilers and had beaten them in 16 of 17 meetings.
Edmonton had won just one of six overall and one of nine on the road.
"We've got a lot of pride in here, and it's never fun to come into a building and get dominated like we have," Gagner said. "We wanted to focus on what we could do and we felt like we played a great 60 minutes. It's a great feeling in here, hopefully we can keep it going."
The Oilers are all but out of the Western Conference playoff picture, but the Flames are in a fight to get in. Calgary entered Tuesday in eighth place, but was bumped to ninth after the Los Angeles Kings earned a point in a 5-4 shootout loss to Phoenix.
"We're in a situation where we want to win hockey games, we want to move up the standings and be the best team we can be," said Eberle, who leads the team with 26 goals and 58 points. "When you have a team like Calgary, who is fighting for a playoff spot, and you can come in and disrupt that, it's fun. That's what we're here to do. We want to be competitive."
The Flames' stay in a top-eight spot in the West lasted only three nights.
"It was a terrible game for us. Our goaltending was very good again but we were just extremely flat. We weren't very sharp at all," said Flames captain Jarome Iginla, who was a minus-3. "Probably our second worst game of the year, next to Boston (9-0 loss on Jan. 5). We all just picked the same night to have a terrible night, except our goaltending."
The Oilers were the better team from the opening faceoff. Edmonton outshot Calgary 17-7 in the first period and kept pouring on the pressure. Hall and Eberle recorded five shots each in the period, but the Oilers were locked in a 1-1 tie.
"Even though they got the first goal of the game, we set the tempo right off the bat, first shift," said Hall, who had a game-high nine shots. "All four lines had a great first shift and from there, we kept going. I think we took note of what a couple of teams have done to us in the first couple minutes in our building, and we wanted to do that tonight and we did."
The Flames nearly carried a 1-0 lead into the second, but Eberle scored with 1:12 left in the first. Miikka Kiprusoff stopped a dangerous shot from Gagner and jabbed out his pad to stop Eberle on his first shot, but the Oilers' leading scorer reeled in his rebound and lifted a backhand just under the crossbar.
"We just rolled from there," Eberle said. "Going into the second, I felt like we just dominated."
It looked for a time as though Kiprusoff, who entered 10-3-3 in his last 16 games, with a .944 save percentage, might steal the game for Calgary.
At the 8-minute mark of the second period, Edmonton held a 21-7 edge in shots, including 13-0 since the 11:00 of the first period.
However, the constant pressure by the younger and faster Oilers resulted in a breakthrough as Edmonton scored three times in less than five minutes to seize a 4-1 lead.
Hemsky scored on a pass from Hall on a 2-on-1 break at 8:09 for his first goal in 17 games.
Another odd-man rush produced the Oilers' third goal at 12:21. Cory Sarich overskated the puck at the Oilers blue line, resulting in another 2-on-1. Ben Eager's shot was kicked out by Kiprusoff, but Belanger buried the rebound for his third of the season.
Gagner then one-timed an Eberle pass 30 seconds later for 14th goal.
Smyth made it 5-1 before the second period was out, and Hall connected against Henrik Karlsson, who replaced Kiprusoff to start the third, for a power-play goal at 17:29.
The final shots were 42-22.
It was the first time in 14 games Calgary has allowed more than three goals and the first time in nine Edmonton had given up fewer than three.
When the game ended, fans booed and many threw seat cushions, which were given out as part of a promotion, onto the ice.
"Over 82 games, there are going to be games like this," Hannan said. "We have a lot of confidence in this room. We've been playing good hockey, we're right there. We're right in the thick of it. You can't expect to have it every night."
Calgary D Chris Butler (lower body) left the game in the second period and didn't return. ... Edmonton LW Ryan Jones was a healthy scratch, the first game he has missed all season. ... With Edmonton G Nikolai Khabibulin (groin) not available, journeyman NHLer and AHL call-up Yann Danis dressed as the backup. ... Edmonton's last win in Calgary was Oct. 17, 2008. ... With Oilers head coach Tom Renney still not behind the bench due to a concussion, associate coach Ralph Kruger won for the first time in six games.