VANCOUVER, British Vancouver - The Flyers began their six-city, 12-day trip lurking on the heels of the first-place New York Rangers.

Two ugly losses later, they needed a win last night to steady themselves and prevent a potential free fall.

They got one.

Incensed by a blindside hit that sidelined winger Simon Gagne in the opening seconds, the Flyers defeated the Vancouver Canucks, 3-2, at General Motors Place.

Jeff Carter scored his league-best 27th goal and added an assist for the Flyers, who continued their uncanny mastery over the Canucks in Vancouver. They haven't lost in Vancouver since Jan. 17, 1989, when Bob McCammon was the Canucks' coach. Since then, the Flyers are 10-0-4 on Vancouver ice.

Goalie Marty Biron was superb in the final period, stopping Daniel Sedin on a deflected shot with 1 minute, 38 seconds left to preserve the win.

"The way we played in the first two periods gave myself a chance to be in position to make a difference," Biron said.

Gagne was blindsided by defenseman Kevin Bieksa after 15 seconds and fell to the ice. No penalty was called. Captain Mike Richards immediately went after Bieksa, and the two slugged it out.

Gagne appeared to injure his right shoulder and he did not return.

"He hit Gaggy. I kind of saw it out of the corner of my eye. I felt it was kind of a cheap hit, a late hit and from behind," Richards said. "So I felt I had to do something about it. I thought it was a hit that should have been a penalty and there wasn't a call."

About three minutes after the hit on Gagne, Carter scored on a backhander after a feed from Matt Carle, who had missed the previous game because of an ankle injury.

The Flyers played with much more energy than the first two games of the trip - losses to Chicago and lowly Columbus - but were victimized by another power-play goal late in the first period.

With 3:06 left in the period, Sedin scored from the right circle after taking a feed from his brother, Henrik, to tie the score at 1-1.

But the Flyers regrouped. Quickly. Scott Hartnell took a pass from Carter and fired a left-circle drive just inside the right post, putting the Flyers ahead, 2-1, with 2:21 to play in the period.

A little over a minute later, Curtis Sanford stopped a flurry of close shots by Mike Knuble and Claude Giroux to keep the Canucks within a goal. Sanford, who was slightly injured in the morning skate, was replaced by Cory Schneider at the start of the second period.

The Flyers increased the lead to 3-1 when 21-year-old Jon Kalinski scored the first NHL goal of his career after 2:36 of the second period. After a Josh Gratton pass deflected off a Vancouver defender, Kalinski knocked in a shot from the left circle and displayed a grin that appeared to stretch to the Washington state border.

"It's indescribable," said Kalinski, a sixth-round selection in the 2007 draft.