Jack Hughes scored with 2:13 to play in overtime and the New Jersey Devils rallied to beat the Boston Bruins 2-1 on Wednesday night despite an outstanding 34-save effort by Jeremy Swayman.

Dawson Mercer tied the game in the third period and Vitek Vanecek made 23 saves as the Devils won for the seventh time in nine games. Jesper Bratt extended his scoring streak to six games with the assist on the game winner.

Morgan Geekie scored for the Bruins, who are now 13-1-3 when leading after two periods. The Bruins have won four of their last six.

Bratt found Hughes in the left circle for the game winner after Swayman had stopped him three times earlier in the overtime period.

Islanders 4, Ducks 3, OT

Simon Holmstrom scored the tiebreaking, short-handed goal late with 1:33 left in regulation and New York beat Anaheim for its fourth straight win.

Mathew Barzal, Kyle Palmieri and Casey Cizikas also scored, and Noah Dobson had two assists to help the Islanders improve to 6-0-1 in their last seven games. Semyon Varlamov made 20 saves.

The Islanders are 9-1-4 in their last 14 games and trail the first-place New York Rangers by just four points in the Metropolitan Division.

Troy Terry, Adam Henrique and Sam Carrick scored for Anaheim, which has lost four straight and 12 of 13. John Gibson finished with 30 saves.

Penguins 4, Canadiens 3, SO

Sidney Crosby climbed up the NHL career scoring list and Jansen Harkins scored the deciding goal in the 12th round of the shootout to give Pittsburgh a win over Montreal.

Crosby had two goals and an assist to move past Paul Coffey and into a tie with former teammate Mark Recchi for 13th place on the NHL points list with 1,533. Jake Guentzel also scored in regulation for the Penguins, who won their second straight after a four-game skid.

Erik Karlsson had two assists and Alex Nedeljkovic finished with 39 saves.

David Savard, Jayden Struble and Sean Monahan scored for Montreal, which has lost eight of its last nine at home. Sam Montembeault had 27 saves.