Casey Mittelstadt scored twice for the Sabres (39-32-7), who have won six of eight (6-1-1). Jeff Skinner had two assists, and Devon Levi made 31 saves.
Buffalo trails the Florida Panthers and New York Islanders, who hold the two wild cards in the Eastern Conference, by six points. The Panthers won 4-2 at the Washington Capitals on Saturday, and the Islanders defeated the Philadelphia Flyers 4-0. The Sabres have two games in hand on Florida and New York.
"It shows our character right now," Dahlin said. "We're not out of it. We've just got to keep battling. It's next game, next game. So how hard we battled to the end, it just shows that we really want it and we've got to do everything we can."
Seth Jarvis, Jesper Fast and Sebastian Aho scored, and Antti Raanta made 26 saves for the Hurricanes (50-20-9), who are 3-4-1 in their past eight games. Carolina remained one point ahead of the New Jersey Devils for first in the Metropolitan Division. The Devils play at the Boston Bruins on Saturday.
"[The Sabres] have a couple of unique players and we took a breather on them, and they put it in the net," Carolina coach Rod Brind'Amour said. "Unfortunately, we're in a situation right now where we're having a tough time putting it in the back of the net. Not that we didn't have enough opportunities."
With the game tied 3-3 in the third, Martin Necas had an open net but Dahlin blocked the shot with his stick. The Sabres scored 15 seconds later when Tage Thompson connected for a one-timer from the right face-off circle off a pass from Dylan Cozens for a 4-3 lead at 6:15.