Jeff Carter scored his league-leading 27th goal Tuesday as the Philadelphia Flyers continued their domination of the Canucks in Vancouver with a 3-2 victory.
The Philadelphia centre, who got his fifth goal in six games, is two ahead of Tomas Vanek of the Buffalo Sabres and Alex Ovechkin of the Washington Capitals for the league lead.
Scott Hartnell, back in the lineup after breaking a toe, and Jonathon Kalinski, with his first NHL goal that stood as the game winner, also scored for the Flyers, who haven't lost in Vancouver in nearly two decades.
Daniel Sedin scored his ninth goal in 10 games, and Ryan Kesler added a single for the Canucks.
The Flyers, who never trailed, improved to 20-10-7 and ended a two-game losing skid. They are 10-0-4 here since a 5-3 defeat on Jan. 17, 1989.
The Canucks lost for the third time in four games to drop to 20-15-3. They remain three points behind Northwest Division-leading Calgary, but the Flames have three games in hand.
Philadelphia led 3-2 after 40 minutes in a game the Canucks opened with a robust physical presence, only to see the Flyers respond on the scoreboard.
Carter scored after Claude Giroux recovered a loose puck in the neutral zone and sent Matt Carle away on a two-on-one break-in. Vancouver goalie Curtis Sanford was out of position when Carter deposited the puck behind him at 3:16 of the first period, moving him to within two goals of his career high set last season.
The goal followed Vancouver defenceman Kevin Bieksa fighting Mike Richards 15 seconds into the game after slamming Simon Gagne into the side boards. Gagne left the ice favouring his shoulder and did not return. Canucks blue-liner Mattias Ohlund then knocked Hartnell to the ice twice on the same shift.
Daniel Sedin drew the Canucks even on a power play 13 seconds after Darroll Powe took the game's first minor penalty. Sedin fired brother Henrik's pass from the corner over goalie Martin Biron's glove.
The Flyers broke the tie 45 seconds later when Hartnell had time and space to tee the puck up at the left face-off dot and blow it past Sanford, who left after 20 minutes because of back spasms.
Rookie netminder Cory Schneider was beaten on the first shot he faced when Josh Gratton's centring pass deflected off a defenceman's skate to Kalinski, who scored his first NHL goal.
Schneider recovered to twice foil Hartnell on breakaways and keep the Canucks close.
Kesler drew Vancouver to within one when he deflected Alex Burrows' centring pass over Biron following a Steve Bernier steal in the neutral zone.
Biron stoned the Canucks on several close-in chances in the third period, including a glove stop on Bernier with 6:30 remaining.
Notes: The Canucks acquired some goaltending depth Tuesday, landing Jason LaBarbera from the L.A. Kings for a seventh-round pick in the 2009 draft. ... Daniel Briere (groin) and Scotty Upshall (knee) are practising with Philadelphia but did not play against Vancouver. ... The Canucks recalled forward Alex Bolduc from AHL Manitoba because of Taylor Pyatt's broken right foot. ... Vancouver centre Ryan Johnson has resumed skating and hopes to return to the lineup by early January. He has missed 18 games with foot and finger fractures. ... The Flyers continue their season-high six-game road trip Friday against Anaheim while the Canucks play in Nashville and Atlanta on Thursday and Friday.