Updated

Tyler Ennis scored his 20th goal and the Buffalo Sabres avoided clinching a last-place overall finish with a 4-3 win over the Carolina Hurricanes on Monday night.

Mikhail Grigorenko, Brian Gionta and Johan Larsson also scored for Buffalo, which entered the game a regulation loss away from guaranteeing the best odds at the first pick in June's NHL draft.

Anders Lindback made 49 saves.

Alexander Semin, Eric Staal and Patrick Dwyer scored for Carolina, which nearly erased a four-goal deficit in the defeat. Carolina out shot Buffalo in every period en route to a 52-25 advantage for the game.

Grigorenko slapped at a loose puck in the slot and it beat Ward to give Buffalo an early 1-0 lead. Zach Bogosian gave Buffalo a chance to double its lead midway through the opening period, but his point blank slap shot was smothered by Ward.

Gionta finished a 2-on-1 break by firing a wrist shot under Ward's right arm to give Buffalo a 2-0 lead.

Lindback was kept under pressure by Carolina, but made 23 saves in the period.

The Sabres made it 3-0 when Larsson latched onto a loose puck in the slot and one-timed it past Ward just 1:18 into the second period. And it was nearly a four-goal lead when Grigorenko pushed a one-time shot off the right goal post.

An odd bounce off the end wall ended with Larsson finding Ennis for Buffalo's fourth goal late in session.

Dwyer began Carolina's comeback when he dragged the puck between Cody Hodgson and Nikita Zadorov before floating a backhand shot over the screened goaltender's right shoulder with 1:54 to go in the second period.

The Hurricanes narrowed the gap when Semin stickhandled around Lindback and behind the goal line before reaching back in front of the net to tuck the puck in.

Former Sabres left wing Nathan Gerbe came close to getting his first point in First Niagara Center since leaving Buffalo, but Lindback gloved his offering midway through the third.

Hurricanes coach Bill Peters pulled Ward with just under six minutes to play with a faceoff in the Sabres' end. When Staal beat Lindback's glove side it was 4-3.

Staal also assisted on Semin's goal, giving the Hurricanes captain four goals and six assists in his last eight games.

Peters again pulled Ward with two minutes to play, but Lindback made several saves including a prone, stacked-pad stop to secure the win.

NOTES: The Sabres announced before the game that D Mike Weber will miss the remainder of the season with a lower body injury. ... At least six total goals have been scored in each of the last four meetings between Buffalo and Carolina, and in six of seven matches. ... Sabres D Andre Benoit left in the second period with an undisclosed injury.