Calgary has won four straight, including 2-1 over the Edmonton Oilers on Tuesday. Rhett Warrener scored his first goal in 100 games and goaltender Miikka Kiprusoff stopped 30 shots to improve his record to 10-2-1.
"This one feels good because it was a battle out there," said Jarome Iginla, who combined with rookie Matthew Lombardi to set up both Flames goals.
"They started to take over the momentum in the third but we got some huge saves from Kiprusoff and we hung in there. That's part of what good teams do, they find ways to win."
Kiprusoff lowered his NHL-leading goals-against average to 1.44, and improved his NHL-best save percentage to .943.
"My confidence is way up right now and the whole team has been playing great," said Kiprusoff, acquired on Nov. 16 from San Jose. "Two months ago, I had no idea what was going to happen but since I came here, it's been great."
The 27-year-old goalie has limited the opposition to one goal in nine of his 13 starts. He has won five games with a one-goal lead. Only twice has he had more than three goals to work with.
Calgary is unbeaten in their last seven at home (5-0-2) and have lost just once in regulation in 17 games (12-1-2-2).
Vancouver came back from a three-goal deficit to tie the Los Angeles Kings 4-4 Monday night, playing overtime for the fifth straight home game. Jarkko Ruutu scored his third goal of the season -- and second in two games -- to get the tie, and Dan Cloutier made 24 saves for the Canucks.
"It was the third- and fourth-line guys that did the bulk of the work and got us back in the game," Canucks captain Markus Naslund said. "We're happy to get that point."
The Canucks are 4-3-2 in December with three of those win in overtime.
Left wing Matt Cooke, who has nine points in 22 games, is expected to return after the Christmas break. He missed 11 games with a staph infection while rehabilitating a shoulder injury.
Calgary is 3-2-3 in the last eight meetings against Vancouver.