Neal scored twice on the power play, including his third goal of the night and 14th of the season with 2:27 left giving him a career-high five points.
Brandon Dubinsky, Corey Tropp and Nikita Nikitin scored for the Blue Jackets before their biggest home crowd of the season, 18,871. Nikitin also had an assist.
SABRES 2, CAPITALS 1, SO
BUFFALO, N.Y. • Ryan Miller made 49 saves to carry Buffalo to a shootout win over Washington.
Drew Stafford netted Buffalo's goal in regulation, and Steve Ott scored the lone shootout goal in the sixth round as the Sabres improved to 5-0-1 in their last six home games after starting 3-12-1 there.
Miller stopped all six Washington shootout attempts.
Philipp Grubauer made 16 saves for Washington, and Troy Brouwer scored the Capitals' only goal. Alex Ovechkin recorded 12 shots, but failed to earn a point.
Washington had the first 12 shots on goal, and with 13:52 gone, Miller stopped Eric Fehr from point-blank range to keep the Capitals off the board. Buffalo finally put a shot on Grubauer with 4:23 left in the first. Matt D'Agostini's odd-angle snap shot was met with a loud cheer from the home crowd.
SHARKS 3, DUCKS 1
SAN JOSE, Calif. • Bracken Kearns scored his first NHL goal, Logan Couture netted his 100th, and San Jose broke Anaheim's 10-game winning streak.
Brent Burns added a goal for the Sharks, who won their fourth straight. Antti Niemi stopped 30 shots in his 21st win of the season.
Patrick Maroon scored for the Ducks, who lost for the first time in December and missed a chance for a club-record, seven-game winning streak on the road. Frederik Anderson made 20 saves but lost for the second time in 11 games this season.
Anaheim, which entered the game as the NHL's top team, also had a 13-game point streak stopped.
Burns has eight points in his last seven games against the Ducks. The Sharks scored in the first 90 seconds of a game for the ninth time this season.
PANTHERS 4, CANADIENS 1
SUNRISE, Fla. • Brian Campbell, Aleksander Barkov and Dmitry Kulikov all scored in Florida's win over Montreal.
Sean Bergenheim added an empty-net goal with 17 seconds left. Tom Gilbert had two assists. Kulikov's goal was his first in 28 games.
Scott Clemmensen stopped 21 shots for the Panthers, who broke a three-game losing streak and beat Montreal for the second time this month. Clemmensen is 8-1 against the Canadiens.
Brandon Prust scored and Peter Budaj made 21 saves for Montreal, which lost for the first time in three games.
The Canadiens had two goals disallowed.
BLUES 3, STARS 2, OT
DALLAS • Kevin Shattenkirk scored a power-play goal 4:49 into overtime, giving St. Louis a victory over Dallas.
Jaden Schwartz had a goal in his fifth straight game, and T.J. Oshie also scored for the Blues, who improved to 12-0-1 against Central Division opponents. Brian Elliott made 28 saves.
Dallas overcame a 2-0 deficit with second-period goals by Jamie Benn and Ryan Garbutt.
Schwartz opened the scoring on a power play at 2:41 of the first.
St. Louis scored off a Stars mistake at 5:12 of the second when Oshie picked up the puck after Kevin Connauton whiffed on a pass in his end.
RANGERS 4, LIGHTNING 3
TAMPA, Fla. • Henrik Lundqvist made 37 saves in his first start in four games, and Mats Zuccarello had a goal and two assists in the New York Rangers victory over Tampa Bay.
Lundqvist watched from the bench as backup Cam Talbot started the previous three games, winning two, after Lundqvist struggled through a 1-4-2 stretch.
Rick Nash, Chris Kreider and Benoit Pouliot also scored for the Rangers, who had three power-play goals. Ryan McDonagh and Derick Brassard had two assists each.
Tampa Bay got goals from Tyler Johnson, Ondrej Palat and Valtteri Filppula.
The Rangers went up 4-2 on second-period power-play goals by Kreider and Pouliot.
ISLANDERS 5, WILD 4
ST. PAUL, Minn. • Kyle Okposo scored twice midway through the third period, and the New York Islanders overcame a three-goal deficit to beat Minnesota.
John Tavares, Cal Clutterbuck and Thomas Hickey also scored for the Islanders, who won for the third time in eight games. Tavares missed Saturday night's home game against New Jersey because of an undisclosed injury.
Ryan Suter, Jonas Brodin, Nino Niederreiter and Justin Fontaine had goals for the Wild, who have lost five straight.
Okposo's second goal, with 5:48 to play, capped a wild 2-minute span in which the Islanders took the lead, lost it and regained it.
Brodin and Niederreiter scored in the first 3 minutes of the second period for a 3-0 Wild lead.
MAPLE LEAFS 5, HURRICANES 2
TORONTO • Phil Kessel scored twice, reaching the 20-goal plateau for the sixth straight season, to help Toronto top Carolina.
The speedy Leafs forward could have had more, but he failed to score on two breakaways.
Nikolai Kulemin, Paul Ranger and Dion Phaneuf, with an empty-net goal with 8 seconds remaining, also scored for Toronto.
Nathan Gerbe and Justin Faulk had goals for Carolina (14-16-9), which has lost five straight including two in overtime.
Jonathan Bernier made 41 saves as Carolina outshot Toronto 43-27.
JETS 2, AVALANCHE 1, OT
DENVER • Blake Wheeler scored at 4:58 of overtime, and Winnipeg beat slumping Colorado.
Al Montoya stopped 33 shots, and Andrew Ladd also scored for Winnipeg.
Wheeler won it for the Jets when he shoved the puck past goalie Semyon Varlamov with time ticking down in the extra period. Wheeler leads the team with 14 points (10 goals, four assists) in December. He has three multigoal games this month.
Varlamov made 35 saves, and Nathan MacKinnon scored for Colorado, which has lost four straight three after regulation.
CANUCKS 2, FLAMES 0
CALGARY, Alberta • Jannik Hansen scored the winning goal, and rookie goalie Eddie Lack made 18 saves to lead Vancouver past Calgary.
Vancouver took the lead in the final minute of the first period on a terrific breakaway pass from Henrik Sedin and an even better finish by the speedy Hansen.
Lack (7-2-0), making his third consecutive start with Roberto Luongo (lower body) on the injured list, won his fifth straight and earned his second shutout.
Mike Santorelli also scored for Vancouver (23-11-6), 10-1-1 in its last 12.
Calgary (14-19-6) fell to 1-2 on its five-game homestand.