"I thought the goalie (Linus Ullmark) was playing pretty well, but I didn't think we were having second chances," Huberdeau said. "He was making the first save but after that we weren't around the net. In the third, that's what we did. We skated well and we had a lot of opportunities."
James Reimer, in his third consecutive start, made 32 saves for the Panthers (26-24-8), who have won three straight games and are 9-4-0 in their past 13. Florida is nine points behind the Columbus Blue Jackets for the second wild card into the Stanley Cup Playoffs from the Eastern Conference.
WATCH: [All Sabres vs. Panthers highlights]
Huberdeau had two goals and an assist, Barkov had a goal and two assists, and linemate Frank Vatrano had two assists.
Jack Eichel and Vladimir Sobotka scored, and Ullmark made 37 saves for Buffalo (28-24-7), which has lost three in a row and four of its past five. The Sabres, 5-10-1 in their past 16 games, are six points behind the Blue Jackets for the second wild card.
"I think right now we're a fragile group," said Eichel, the Buffalo captain. "It's been a tough stretch for us, without a doubt. It just seems like things are going the opposite way [than] they were. It's an uphill climb for us right now."
Eichel made it 1-0 at 5:14 of the second period with a power-play goal when he redirected Sam Reinhart's pass from the top of the right circle.
Huberdeau tied it 1-1 at 3:07 of the third period, scoring on a breakaway after a backhand deke.
Hawryluk gave Florida a 2-1 lead at 3:50 after Vincent Trocheck's shot from the slot hit the post and bounced off his body.