Tage Thompson added a goal and three assists, while Rasmus Dahlin and Alex Tuch each had a goal and two assists. JJ Peterka and Henry Jokiharju also scored for Buffalo (8-11-0), and Craig Anderson made 29 saves.
The 30-year-old Skinner has 40 points (23 goals, 17 assists) in 37 career games against the Canadiens.
The Canadiens went 0 for 6 on the power play, including a 4-on-3 opportunity halfway through the second period.
Buffalo jumped out to a 3-0 lead in the first 2:13, the second-fastest three goals to begin a game in franchise history.
Thompson found Dahlin in the slot only 35 seconds in. Just 17 seconds later, the Sabres attacked Allen’s crease and Peterka netted Buffalo’s second of the night.
Instead, Tuch jumped on the opportunity to make it 3-0 with a wrist shot on the power play.
The Habs cut the deficit to two when Caufield sent a slap shot past Anderson at 2:57 of the first.
Buffalo regained its three-goal cushion 11:21 into the second when Thompson found Skinner in the slot with a backhand pass and the winger scored his sixth of the season.
Montreal made it 4-2 when Monahan took the puck from center ice, skated in and scored off his own rebound at 13:57.
The Sabres bumped their advantage to three again when Tuch rounded the net and sent a backhand pass to Jokiharju, who beat Allen for his first of the season at 3:48 of the third.
Thompson added his team’s sixth goal at 6:39 with a wrist shot over Allen’s glove.
Skinner iced it with a one-timer from the right faceoff circle at 14:26.
COMING OF AGE
Dahlin is off to a strong start in his fifth NHL season. The top pick in the 2018 draft has 12 points (two goals, 10 assists) in his last 10 games.
Sabres: Host the St. Louis Blues on Wednesday.
Canadiens: At the Columbus Blue Jackets on Wednesday.