The Vancouver Canucks extended their homecoming party at GM Place on Sunday, riding three first period goals to dispatch the Calgary Flames 3-1.

Daniel and Henrik Sedin each had a goal and an assist while Roberto Luongo turned away 32 shots as the Canucks (43-23-3) picked up their fourth win in the last five games and second in as many nights on home ice.

"Obviously we came out strong," Luongo said. "And then I don't know what happened, if we tried to protect the lead or what, but we struggled and they took the momentum and fortunately we were able to hold on."

The Flames (34-25-9) had their four-game win streak snapped — dampening their hopes of jumping back into the Western Conference playoff picture.

Robyn Regehr had the only goal for the Flames while Ryan Kesler posted the other Canucks' tally, the eventual game-winner, 7:27 into the first period.

Calgary was hoping for their fifth straight win to leapfrog Detroit, who have a one-point lead and hold sole possession of 8th spot in the West.

With the Red Wings visiting the Pengrowth Saddledome in Calgary on Monday, perhaps the Flames were looking forward to that game more than they were at extending their success over their Northwest Division rival Canucks in the opening frame.

Flames' defence porous

The Flames came in with a 3-1-0 record against Vancouver this season, but the scoreboard saw Calgary down 3-0 and outshot 20-6 after the first 20 minutes of play.

"I really don't have words to explain it," coach Brent Sutter said. "I was shocked to see us play that way in the first period. It tells you exactly what preparation is and they get woken up and play better the last two periods."

In fact, it took only 1:13 for Vancouver to open the scoring, capitalizing on a somewhat frazzled Miikka Kiprusoff.

After making the first save of the game on Henrik Sedin, Kiprusoff couldn't find the rebound as he slid out of his crease.

With the Finnish goalie scrambling back into position, Henrik gathered the loose puck and moved behind the net, patiently waiting for brother Daniel to cut across the slot, take the pass and snap a one-timer under the glove of the Flames goalie.

"We've talked about this for a long time, but at home you tend to come out a little bit harder and forecheck a little bit harder," Daniel Sedin said. "[Scoring first] makes it easier on us mentally."

That helper by Henrik was also notable as it was the 416th of his career, passing Trevor Linden on the Canucks' all-time assists leader list.

Fortuitous bounce 

Another one-timer — this time it was Alex Burrows feeding Kesler — plus a fortuitous bounce made it 2-0 Canucks with 12:30 left in the opening period.

Kesler unloaded his slapper from the top of the slot, the puck deflected off the crossbar, and bounced off Kiprusoff's arm and into the net.

Just over 10 minutes later, Flames defenceman Mark Giordano was sent off for a questionable tripping call on Pavol Demitra and Calgary leaned hard on Kiprusoff to keep it a two-goal deficit. The penalty kill featured four clutch saves, the most impressive being a diving stop on a wrap-around attempt by Daniel Sedin.

Calgary's skaters must have been impressed with their goalie's performance on the PK, because they took two quick minor penalties, giving the Canucks a 5-on-3 opportunity for 1:40.

Kiprusoff did his best to weather the storm, but his two saves on a scramble in front of the Calgary goal was one save short. Henrik Sedin potted the rebound for his 93rd point of the year as well as a three-goal advantage heading into the second period.

"It's really tough to come back in this league," Henrik Sedin said. "We really got our legs going, came out of the gates strong. I don't know if it's the crowd, just being back home, or what it is, but we seem to create a lot of chances early and got the first goal two games in a row."

That period saw a goaltending change — Vesa Toskala relieved Kiprusoff  — and a change in tempo.

Luongo stands firm

The Flames came out flying to start the second, outshooting their opponents 11-3 through the first 10 minutes, but Luongo kept his team's lead intact. The Olympic gold medallist turned away all 16 shots he faced in the middle frame, including back-to-back shorthanded chances by Matt Stajan and Rene Bourque with two minutes remaining.

Vancouver's best chance in the second came off the stick of Mason Raymond, who was sprung on a breakaway but was stopped in his tracks by Toskala's blocker.

The Flames continued to up the pressure on their opponents in the third, this time finding some success — holding the Canucks without a single shot and snapping Luongo's shutout bid with 8:10 remaining.

Regehr's shot from the blue line found the back of the net, thanks in part to a screen by Curtis Glencross as the Canucks netminder could only get his glove on a piece of the puck before it bounced off and in.

Calgary kept the puck in the Vancouver end for most of the period, and with under two minutes remaining they opted to pull Toskala for the extra-attacker on the power-play but could not capitalize.

With files from The Associated Press