He didn't take long to reach the milestone, either. Jagr is the 16th player to hit the 500 mark in less than 1,000 games, doing it in 926.

The 30-year-old right wing became the 33rd NHL player with 500 goals when he scored his third of the game at 7:19 of the second period, a shot from the top of the right circle during a power play. Jagr's 30th goal of the season gave him 11 career hat tricks.

"The whole team is playing well and that's important," Jagr said. "That's my job, to score goals."

Roman Cechmanek gave up an early goal to Roman Hamrlik, but made 28 saves to earn the victory. Jeremy Roenick scored 4:35 into the game for Philadelphia, which snapped its season-worst four-game losing streak.

Canucks 3, Penguins 2

At Pittsburgh, Henrik Sedin and Matt Cooke scored on successive first-period shots and Vancouver held on to ruin Mario Lemieux's return to the lineup.

Lemieux, the NHL scoring leader, missed all but 3:53 of the Penguins' previous 11 games with a groin injury. He assisted on Alexei Kovalev's second-period goal while playing his first full game since Jan. 4.

Kovalev, the subject of constant trade speculation, scored twice for Pittsburgh, which has won just one of its last seven games (1-5-1).

Devils 4, Sabres 1

At East Rutherford, N.J., Joe Nieuwendyk scored twice and Patrik Elias had a goal and an assist as New Jersey beat struggling Buffalo for its eighth straight win at home.

Defenseman Tommy Albelin added his first goal and Corey Schwab made 19 saves for the Devils, who have won 16 of 22 games (16-3-2-1). New Jersey is tied with Ottawa for first place in the Eastern Conference.

Predators 5, Red Wings 5

At Detroit, Denis Arkhipov scored with 3:12 left in regulation and Nashville rallied from a three-goal deficit to tie the Red Wings.

Kimmo Timonen scored twice for the Predators.

Brendan Shanahan and Luc Robitaille were among the goal scorers for the Red Wings, winless in their last four games (0-2-2).

Robitaille broke a 20-game drought with his first goal since Dec. 17. He added an assist for his first multipoint game since Oct. 29. Detroit's Brett Hull remained at 699 career goals for the fifth straight game.

Thrashers 4, Canadiens 3

At Montreal, Marc Savard scored his second goal of the game with 1:36 left in the third period.

Brad Tapper and Jeff Cowan also scored for the Thrashers, who improved to 6-2-1-0 under coach Bob Hartley.

Andreas Dackell, Jan Bulis and Niklas Sundstrom scored for Montreal, which is 3-2-2-1 under new coach Claude Julien.

Mighty Ducks 3, Flames 2

At Calgary, Alberta, Sandis Ozolinsh scored the go-ahead goal at 10:19 of the third period in his Anaheim debut.

Ozolinsh, traded by Florida in a four-player deal last Thursday, also had an assist.

Rob Niedermayer's second goal of the game tied it for the Flames just two minutes earlier.

Stanislav Chistov and Mike Leclerc also scored for Anaheim, which moved into sole possession of eighth place in the Western Conference. The Mighty Ducks have won three straight and are 8-2-0-1 in their last 11 games.