PITTSBURGH -- Phil Kessel celebrated the 800th game of his career in style, scoring twice, including the winner 3:15 into overtime to lead the Pittsburgh Penguins to a 4-3 victory over the suddenly scuffling Columbus Blue Jackets on Friday night.

Nick Bonino added his eighth for Pittsburgh and Patric Hornqvist scored his fifth goal in his last five games for the Penguins. Matt Murray stopped 28 shots as Pittsburgh drew within two points of second-place Columbus in the taut Metropolitan Division race.

Cam Atkinson capped a third-period rally with his 25th of the season for Columbus. Brandon Dubinsky and Alexander Wennberg also scored for the Blue Jackets. Sergei Bobrovsky finished with 29 saves for Columbus, which is just 7-7-1 since going unbeaten (14-0-0) in December.

FLAMES 4, DEVILS 3, OT

NEWARK, N.J. -- Defenceman TJ Brodie had four assists, the last on Mikael Backlund's winning goal at 1:13 of overtime, and the Calgary Flames beat New Jersey to send the Devils to their seventh straight loss at home.

Sean Monahan, Kris Versteeg and Matt Stajan also scored as the Flames won their third straight game. Brian Elliott made 26 saves.

Adam Henrique, Pavel Zacha, Kyle Palmieri tallied for New Jersey, which battled back from an early 2-0 deficit to take the lead. Cory Schneider had 34 saves.

The Flames cycled the puck in the Devils' end on the winning goal before Brodie found Backlund low in the left circle for a shot under the cross bar. It was not immediately clear whether the puck went into the net, but the officials soon signalled a goal.

RED WINGS 5, ISLANDERS 4

DETROIT -- Danny DeKeyser scored with 27.9 remaining in regulation, lifting the Detroit Red Wings over the New York Islanders.

DeKeyser's shot from the left side of the left circle caromed off two Islanders defencemen, Nick Leddy and Thomas Hickey, and into the net.

Detroit had a one-goal lead for 20 minutes before Jason Chimera made it 4-all with 2:26 left in the third period. Red Wings coach Jeff Blashill challenged that Chimera was offside, but the goal that he chipped in between the post and Petr Mrazek stood off Darren Helm's turnover.

The Red Wings avoided losing a season-high sixth straight game.

Henrik Zetterberg had a go-ahead goal late in the second period scored 23 seconds after John Tavares pulled the Islanders into a 3-all tie. Helm and Anthony Mantha had goals 2:20 apart earlier in the period to put Detroit ahead after it trailed 2-1 following the first.

HURRICANES 2, OILERS 1

RALEIGH, N.C. -- Sebastian Aho scored the go-ahead goal early in the third period, lifting the Carolina Hurricanes past the Edmonton Oilers.

Jordan Staal had a goal in the first period for Carolina, which split the season series. Edmonton won the other meeting, 3-2 at home on Oct. 18.

Connor McDavid scored the Oilers' only goal, tying the game in the second period.

Carolina, 17-6-1 at home, improved to 8-0-0 this season when allowing just one goal.

Edmonton defenceman Matt Benning left at 14:36 of the second after being bloodied by a hard check from Viktor Stalberg behind the Oilers' goal and did not return.

PANTHERS 2, DUCKS 1

SUNRISE, Fla. -- Jonathan Huberdeau scored his first goal of the season to lift the Florida Panthers over the Anaheim Ducks.

Reilly Smith also scored for the Panthers, and Aleksander Barkov had an assist in his return to the lineup after missing 15 games due to injury. James Reimer stopped 22 shots.

Huberdeau's goal during 4-on-4 play with 4:58 left in the second period broke a 1-all tie. Barkov passed from the left circle across to Huberdeau in the slot and he shot the puck high into the net.

Hampus Lindholm scored for Anaheim, and John Gibson made 35 saves.

Huberdeau had been out all season following surgery to repair an Achilles tendon injury sustained Oct. 8 in the final preseason game against New Jersey. It was his first goal since April 9.