Stars captain Jamie Benn scored his team's first two goals and earned his 200th assist on the third by Patrick Eaves, who tied the game at 3-3 at 12:35 of the third.
On the winner, Eakin took a pass from John Klingberg in the left faceoff circle and beat Sabres goalie Anders Lindback, who began the season with Dallas. Lindback finished with 35 saves.
Buffalo captain Brian Gionta scored the Sabres' first two goals. Matt Moulson also scored for Buffalo.
The Stars won for the sixth time in seven games.
The Sabres, last in the NHL with 47 points, are 1-8-2 in their past 11 games.