Afinogenov, who also had an assist, scored during a 5-on-3 advantage. He took a pass across the front of the goal from Chris Drury and gave Buffalo a 2-1 lead 1:19 into the final period. Thomas Vanek also scored while Ryan Miller made 32 saves for the Sabres, who won their third straight.
Jozef Stumpel scored for Florida, which has dropped four in a row. Ed Belfour stopped 14 shots.
Afinogenov's goal snapped a power-play slump for the Sabres. Entering the game, Buffalo had converted just three of 43 chances. The Sabres failed on their first five chances before Afinogenov scored.
Miller then held Florida at bay, making made 11 saves in the final 18 minutes, including a stop on Stumpel with 1:17 to go. Miller also stopped six shots during the Panthers' two power plays in the final period.
Vanek gave Buffalo a 1-0 lead 4:20 into the second. While in the slot with his back to the net, Vanek took a pass from Derek Roy, spun, switched hands and put the puck past Belfour for his team-leading 18th goal.
Stumpel tied it less than three minutes later, scooping up a loose puck in the left corner and firing a wrist shot past Miller's left leg.
The Sabres took a season-low 16 shots, and paid back Florida for a 3-1 loss seven days earlier.
Notes: Florida played without C Stephen Weiss, who injured his shoulder Tuesday against Anaheim . . . The Sabres began a stretch of six of nine at home. They were 3-2 on their five-game road trip . . . The Panthers started a three-game trip, with games Thursday at Boston and Saturday at Toronto . . . Buffalo D Teppo Numminen returned after missing two games with a broken toe. Drury also came back after being sidelined with the flu Tuesday at New Jersey . . . Florida is 4-11 in one-goal games, while Buffalo improved to 14-2.