CALGARY, Alberta (AP) -Alex Burrows' first goal in 48 games was a memorable one.
Trevor Linden and Brendan Morrison also scored for Vancouver, which has won all four games in the streak against Northwest Division opponents.
"That's been our Achilles' heel until now, one we've been criticized for - and rightly so. But now we're finally starting to get things going," Linden said.
The Canucks are one point behind first-place Minnesota and one ahead of Calgary.
Burrows got his first goal since March 27, 2006, at 15:29 of the second period to give Vancouver a 3-1 lead. Darting down the wing on a 2-on-1, he eluded Mark Giordano's diving swipe, patiently waited for goalie Miikka Kiprusoff to go down and then reached back and tucked the puck inside the post as he skated past the net.
"I thought I was going to shoot it, or go to my backhand maybe and try to roof it, but there was nothing there and I was lucky to be able to jam it in," Burrows said. "It's a good goal for me to get, especially with the bounces I've been getting lately."
The pretty effort earned praise from his teammates, too.
"A great goal," said Morrison, who added an assist. "He showed a lot of patience and some pretty nice hands there.
"It was a big boost for our team."
Matthew Lombardi scored twice for the Flames, who lost for only the second time in their past 14 home games - both to Vancouver.
"We didn't come out prepared," Lombardi said. "They came out ready to play and we let them take it to us. We weren't ready and it showed."
In front of a boisterous, sellout crowd of 19,289, the teams played for the fifth time in 25 days. It was an emotional and physical game that included several skirmishes.
"Everybody knows that when you come in here, it's going to be a really intense game," Burrows said. "We know they're a really good team and we need everyone in this locker room to bring everything to the table and work hard to beat them."
Roberto Luongo made 27 saves for Vancouver, the biggest being a spectacular glove stop on Byron Ritchie after he was set up for a one-timer by Kristian Huselius on a 2-on-1 rush with 6 minutes left.
Vancouver led 2-0 after 20 minutes, but Lombardi cut Calgary's deficit to 3-2 after two periods.
He made it 2-1 six minutes into the second on his fourth short-handed goal. Sent in alone by Huselius, Lombardi fended off a diving backcheck by Kevin Bieksa, cut across the front of the Vancouver net and neatly pulled the puck around Luongo. Lombardi is one short-handed goal behind Pittsburgh rookie Jordan Staal, who leads the NHL.
After Burrows put Vancouver back in front by two, Lombardi pulled Calgary within a goal again at 17:23 when he burst down the wing and whipped a high shot past Luongo from 20 feet out.
Linden opened the scoring at 7:54 of the first period, one-timing Morrison's centering pass after Lombardi coughed up the puck behind the Flames net.
Morrison made it 2-0 four minutes later when Sami Salo's shot from the blue line hit Rhett Warrener's skate and sharply caromed out to Morrison at the side of the scrum, who was left with an open net.
Vancouver finished 1-for-10 with the man advantage while Calgary was 0-for-6. But Lombardi's concern was the amount of time the Flames spent playing short-handed.
"It impacts the flow of our game," he said. "They get on the power play moving the puck around, our guys on the (penalty kill) are out there a lot and getting tired while the other guys are sitting on the bench and are not getting the opportunity to get going."
Kiprusoff had 28 saves for Calgary. He has given up three or more goals in eight of his past nine starts.
Notes: The Flames and Canucks meet just twice over the final three months of the season - Feb. 3 in Calgary and March 31 at Vancouver. ... Vancouver RW Markus Naslund has gone 15 games without a goal. With 100 power-play goals, he is three from moving past Tony Tanti into top spot on the Canucks' career list. ... Calgary D Andrei Zyuzin was a healthy scratch for the second straight game. ... Vancouver improved to 16-5-1 when scoring first.
|Trevor Linden (5) ASST: Brendan Morrison (12)|
1 - 0 VAN
|PPG - Brendan Morrison (10) ASST: Sami Salo (11), Markus Naslund (16)|
2 - 0 VAN
|SHG - Matthew Lombardi (12) ASST: Kristian Huselius (14), Roman Hamrlik (11)|
2 - 1 VAN
|Alexandre Burrows (1) ASST: Marc Chouinard (2), Kevin Bieksa (13)|
3 - 1 VAN
|Matthew Lombardi (13) ASST: Mark Giordano (4), Kristian Huselius (15)|
3 - 2 VAN
|Power Play %||19.3%||18.8%|
|% on Road||17.3%||19.0%|
|% at Home||21.1%||18.7%|
|Willie Mitchell Hooking against Jarome Iginla|
|Byron Ritchie Interference against Marc Chouinard|
|Stephane Yelle Hooking against Alexandre Burrows|
|Kristian Huselius Diving against Willie Mitchell|
|Willie Mitchell Hooking against Kristian Huselius|
|Daniel Sedin Hooking against Dion Phaneuf|
|Jamie Lundmark Too many men/ice - bench|
|Mark Giordano Hooking against Ryan Kesler|
|Roman Hamrlik Hooking against Jan Bulis|
|Roberto Luongo Tripping against Kristian Huselius|
|Chuck Kobasew Hi-sticking against Kevin Bieksa|
|Lukas Krajicek Hooking against Daymond Langkow|
|Kevin Bieksa Fighting (maj) against Andrew Ference|
|Kevin Bieksa Slashing against Andrew Ference|
|Andrew Ference Misconduct (10 min) against Kevin Bieksa|
|Andrew Ference Fighting (maj) against Kevin Bieksa|
|Andrew Ference Instigator against Kevin Bieksa|
|Andrew Ference Instigator - face shield against Kevin Bieksa|
|Robyn Regehr Hooking against Jan Bulis|
|Alex Tanguay Too many men/ice - bench|
|Markus Naslund Holding against Dion Phaneuf|
|Jeff Friesen Hooking against Ryan Kesler|
|Jan Bulis Hooking against Mark Giordano|
|Alexandre Burrows Tripping against Robyn Regehr|