Tony McKegney scored twice as Buffalo won on New York ice to end its six-game winless streak.
McKegney's second-period goal broke a 2-2 tie in a tight-checking game and gave the Sabres a lead they never relinquished. In the third period, McKegney scored an insurance goal, his 12th this season.
Buffalo took a 2-1 lead 14 seconds into the second period on Ric Seiling's eighth goal. Seiling, playing in his 400th NHL game, tapped in McKegney's long lead pass.
New York tied at 2:42 on Denis Potvin's power-play goal. It was Potvin's 10th of the season, and his fourth in the last four games.
Then, at 7:58, Buffalo took the lead for good. Rookie defenseman Phil Housley, with some excellent stick-handling in the Islanders' zone, passed to McKegney, who back-handed a 15-footer past surprised goalie Billy Smith.
In the third period, Dale McCort scored off a pass from Andre Savard to make it 4-2. It was McCort's seventh goal, his 400th NHL point.
Sixteen seconds later, the Islanders' Brian Sutter wristed home a 20-footer to make it 4-3. Then McKegney ensured victory as he skated in on the side and faked out Smith.