Jason Pominville opened the scoring 15:31 in when he finished off a centering pass from Ehrhoff, who made his Sabres debut. Ehrhoff restored Buffalo's one-goal lead 6:07 into the third when he snapped a shot past Robert Mayer to make it 2-1.
"He's got a really good shot," Sabres coach Lindy Ruff said. "I thought probably again tonight there were some opportunities we passed up, we passed some plays around, but you don't usually have to tell him to shoot. He's a shooter and he can sling it with a wrist shot and he can hit it pretty hard with a slap shot."
Tyler Ennis got an empty-net goal in the final seconds.
Ryan Miller stopped all 11 shots he faced in his first preseason start. Jhonas Enroth made 12 saves in relief for his second straight win.
P.K. Subban scored a power-play goal for Montreal late in the second.
Canadiens left wing Max Pacioretty played for the first time since he suffered a broken vertebra on a devastating hit by Boston's Zdeno Chara on March 8.
"It's such a good feeling just to be out there again," said Pacioretty, who was given a big cheer when he stepped on the ice for his first shift. "No big hits given or received but the bumps are I think what's really going to make my neck react so we'll see how it feels tomorrow."
Copyright by STATS LLC and The Associated Press
MONTREAL, CANADA - SEPTEMBER 21: Marcus Foligno #82 of the Buffalo Sabres and Mathieu Darche #52 of the Montreal...