Sven Baertschi had a goal and an assist as the Flames put another crimp in the diminishing playoff plans of the rival Edmonton Oilers, coming away with a 4-1 victory.
The triumph comes just over a week after an embarrassing 8-2 loss to Edmonton at home in Calgary.
"They really took it to us in that game," said Flames winger Tim Jackman, who had two assists on Saturday. "We wanted to put that game behind us and we did with this game. It was a good road win. It's the Battle of Alberta and they were fighting for a playoff spot. We're playing every game as hard as we can and trying to prove to the organization that we all want to be here."
Flames goalie Joey MacDonald, who stopped 28 shots for the win, agreed that it was a satisfying victory.
"They kind of embarrassed us at home and when you lose 8-2 you really want to come back and beat them," he said. "We were pretty mad about that. I thought it was one of our best games. We didn't give up a lot of chances. We want to finish off this season on a winning note and prove to everybody that we are going to have a young team that is going to work hard every night."
Mikael Backlund, Dennis Wideman and Max Reinhart also scored for the Flames (16-21-4), who have won three of their last four on the heels of a fire sale of veteran players at the trade deadline. Calgary improved to just 5-13-2 on the road this season.
Lennart Petrell replied for the Oilers (16-18-7), who have lost five in a row on the heels of a five-game winning streak. The losing skid puts Edmonton's playoff hopes in serious jeopardy as it is six points back of eighth place in the Western Conference with just seven games remaining.
"It was certainly disappointing," said Oilers head coach Ralph Krueger. "The fans deserved a much better game than that. We really have to look ourselves in the mirror after this one. We have to figure out what kind of team we want to be. There are still seven games ahead of us and we have some serious analysis to do right now.
"With a flatness like that down the stretch, you have to question everything."
Oilers forward Taylor Hall was the picture of frustration.
"Where's the compete and the passion? That was missing tonight," he said. "We got scored on on the first shift. It's a really sad way to finish the season if that's the way we're going to play. We have to play like there's no scoreboard the rest of the year, like there's no standings either.
"Our third period was abysmal. There were not a lot of won battles or won races to the puck. We've got to be proud of what we're doing, proud that we're Oilers. We have to work and compete."
Calgary got on the board just 26 seconds in on the first shot of the game.
Edmonton did a bad job clearing the puck, allowing Backlund to get the puck and ring it off the post and in behind starting goalie Nikolai Khabibulin.
The Oilers tied the game up just over a minute later as a Ryan Jones pass hit a skate in front and popped out to Petrell who powered the puck past MacDonald.
It appeared that Edmonton had taken the lead five minutes into the first period, but a video review determined that Nail Yakupov had directed the puck into the net with his skate.
Calgary went up 2-1 two minutes into the second period as Khabibulin was able to stop Jackman in tight, but couldn't prevent Wideman from coming in as the trailer on the play and slamming home the rebound late on a power play.
The Flames made it 3-1 five minutes into the second period as Oiler veteran Ryan Smyth fell and coughed up the puck in the slot, allowing Baertschi to score his first of the season on a low shot.
Calgary put the game away midway through the third period after another giveaway by the Oilers in their own zone allowed Jiri Hudler to make a backhand pass out front to Reinhart, who picked the top corner to score his first career NHL goal.
"We have a lot of guys injured so we have a lot of young guys in the lineup right now that are just enjoying being in the NHL," Jackman said. "They are fun to watch and fun to have around. We're not in the playoff race, so to have them come in and show how much they want it brings the best out of everybody."
The Flames return home to face the Minnesota Wild on Monday. The Wild then travel to Edmonton to play the Oilers on Tuesday.
Notes: It was the fourth and final meeting between the two teams this season. The Flames won the first outing on Jan. 26, but the Edmonton Oilers swept a home-and-home series last week... Edmonton came into the game having won four of the past five meetings with Calgary after losing nine straight to the Flames. Calgary, though, had still won seven of its last 10 in Edmonton... The Oilers last won a season series over its provincial rival in the 2008-09 season... After defeating Calgary 8-2 in their last meeting, the Oilers have now been outscored 17-4 in their last five games... Edmonton was without forward Ales Hemsky, who is expected to miss at least three games with a foot injury. Ryan Jones took his place in the lineup... Calgary was without a couple of its biggest offensive weapons as Curtis Glencross missed the game with an illness and Alex Tanguay was out with an MCL sprain that should keep him out for the remainder of the season... MacDonald made his first back-to-back start of the season for the Flames. Calgary came into the contest with three wins in its last 10 games. MacDonald was in net for all three... It was the 100th career NHL game for Edmonton's Ryan Nugent-Hopkins and the 600th for Calgary's Mike Cammalleri.