Marcus Johansson won it at 1:30 of overtime on a one-timer from the right circle five seconds after a power play had expired.
"The more we put pucks behind them, I think it feeds our game and that's when we start getting going," Eichel said. "We were able to find a way to get two points. That's what's important in this League, so it's a good win. They're a really good hockey team. You can tell by the way they play. They're fast, they move the puck well, they forecheck hard, and they're tough to play against."
WATCH: [All Canadiens vs. Sabres highlights]
Rasmus Dahlin had two assists, and Carter Hutton made 23 saves for Buffalo (3-0-1), which has earned a point in four straight to begin the season for the first time since starting 4-0-1 in 2009-10.
Joel Armia had two goals and an assist, and Keith Kinkaid made 34 saves in his first start for Montreal (1-0-2), which has trailed by at least two goals in each of its first three games.
"We have to be better on the penalty kill and we have to stop playing catch-up hockey," Canadiens coach Claude Julien said. "Eventually, it's going to cost us. We're showing a lot of character, but at the same time, if we fall asleep in the games, it costs us and we have to rally."