Thomas Vanek, Chris Drury and Ales Kotalik also scored for the Sabres, who have won five of their last six. Drury also added an assist. Sidney Crosby had two goals for the Penguins, who have lost six of their last seven.
Martin Biron made 34 saves, including 16 in the second period, to win his fourth game since taking over the starting goaltender duties from the injured Ryan Miller.
The Sabres had two power-play goals to help secure their league-leading 16th victory.