Ryan Miller made 21 saves for the Sabres, who have won five straight home games.
Michael Ryder scored his 13th goal of the season for New Jersey.
The Devils took two penalties in three minutes late in the second period. New Jersey forced a turnover and had two players alone on Miller during the first penalty, but Miller stopped Adam Henrique's shot.
Buffalo scored on the second opportunity. With 31 seconds left in the second, Moulson poked a rebound by Cory Schneider for his 14th goal of the season.
It was Buffalo's first regulation goal against New Jersey in more than 135 minutes of play going back to April 7, 2013.
The goal was also the first in four games for the Sabres' 29th-ranked power play. They entered the game in a slump that had just one goal in 22 power plays.
New Jersey had a 5-on-3 advantage and tied the game at the 7:46 mark when Ryder shot a loose puck over Miller's shoulder.
The Devils have scored a power-play goal in consecutive games after going without one for four games.
With 10:03 gone in the third, Zubrus shoved Myers into the Sabres goal post and was called for interference. On the ensuing power play, D'Agostini backhanded a rebound past Schneider for his first goal in 16 games with Buffalo.
Buffalo scored multiple power-play goals for just the second time this season, dating back to Oct. 8 against Tampa Bay.
Miller has won his past six home games, allowing just eight goals.
The teams combined for just 11 shots on goal in the first period, with seven going to the Devils.
The Sabres got the game's first power play when Steve Bernier interfered with Tyler Ennis in front of the Devils net. Myers had the best chance of the power play, but Schneider made the save with his blocker.
A John Scott holding penalty gave the Devils a man advantage at the 14:59 mark, but New Jersey only managed a single shot.
Eight minutes into the second period, Brian Flynn was one-on-one with Schneider off a pass from Omark, but the Devils goaltender kicked away his backhand shot.
NOTES: Devils LW Patrik Elias missed his second consecutive game with an upper body injury sustained Tuesday against Pittsburgh. ... Buffalo C Zenon Konopka played his first game for the club since being claimed off waivers from Minnesota on Friday. ... Devils assistant coach Mike Foligno is a former Sabre and father of Buffalo LW Marcus Foligno.