Henrik Sedin put the Canucks ahead late in the second period and Brendan Morrison added an insurance goal 8:40 into the third to lift Vancouver to a 3-1 victory over the Flames that was viewed by some Canucks as a must-win game.
Mattias Ohlund also scored and Roberto Luongo made 21 saves as the Canucks won consecutive games for the first time in more than three weeks, and beat a Northwest Division rival for just the third time all season (3-8-1).
"Our players didn't shy away from the challenge," coach Alain Vigneault said. "Since (Wednesday) everybody mentioned this was a must game, a statement game, an important game. They knew we had to find a way to win this and they took the challenge head on, played one of our best games of the year."
Matthew Lombardi scored for the Flames, who won a franchise-record 10th consecutive home game on Tuesday night, but have lost five in a row on the road. The Flames have five more away games before going home.
"I don't think we kept it as simple on the road as we have to keep it," coach Jim Playfair said. "We turned a lot of pucks over and gave up too many quality scoring chances. It's about working hard and sticking to our system."
The Flames did enough to generate eight power-play chances in a penalty filled game, but couldn't beat Luongo, who was at his best with his team short-handed.
Playing for the 31st time in 32 games, Luongo won a matchup of the NHL's busiest goaltenders. He received a break when Dion Phaneuf hit a post and more help when Willie Mitchell kept Daymond Langkow from shooting into an empty net on a power play rebound. He made several sparkling saves against Phaneuf, Langkow, Tony Amonte and Jarome Iginla.
"Louie was as big part of it, but the penalty kill was really sharp," Canucks captain Markus Naslund said. "It wasn't a pretty game, but we needed it badly. We struggled against our own division and this was a key win for us."
Luongo also received a lot of help from Mitchell and defensive partner Kevin Bieksa, who teamed up to keep Calgary s top line of Langkow between Iginla and Alex Tanguay off the scoresheet after the trio combined for 31 points in six games.
Langkow's point streak was snapped at nine games.
Calgary scored a short-handed goal one minute into the second period after a soft back check from Naslund allowed Lombardi to gather a loose puck inside the Vancouver zone and cut unchecked to the net.
"I hesitated because I thought he was going to pass it to the guy coming late and then I got caught flat-footed so I take responsibility for that," said Naslund, who made up for the mistake by setting up Ohlund's goal 1:44 later.
Henrik Sedin put Vancouver ahead on a 2-on-1 pass from twin brother Daniel, a rush that was set up when Jamie Lundmark missed the net on a 2-on-1 break at the other end. The goal, with 2:29 left in the second, was Henrik's first in 13 games.
Calgary's Miikka Kiprusoff, who has started 27 of 29 games, was equally sharp with 23 saves. He went sliding to rob Daniel Sedin on a rebound, then stopping his shot from the slot as the Flames killed a lengthy 5-on-3 early in the third period.
"Luongo made some very timely saves as far as power plays and I thought Kipper did too in the third to give us a chance," said Iginla, who failed to score a goal for the first time in seven games. "We can be better than that, we can skate better than that and we can move the puck better than we did."
Morrison finally doubled the lead on a 3-on-2 rush, one-timing Matt Cooke's cross-ice pass from the high slot into the top corner past Kiprusoff's glove. Morrison's sixth point in four games put the Canucks over the two-goal mark for a fourth consecutive game, something they managed only twice in the previous 16.
Calgary D Andrei Zyuzin was back after missing two games with a lower body injury, but D Roman Hamrlik left with a groin injury after one shift in the second period. ... Canucks D Rory Fitzpatrick returned after missing more than a month with a broken bone in his ankle, and C Josh Green played after missing six with a broken toe. LW Taylor Pyatt (shoulder) and D Sami Salo (neck) could be back Saturday against Minnesota.