Miller stops 40 shots, leads Sabres past Canadiens
Vanek held up before driving a slap shot past goalie Carey Price from low in the left circle with 2.8 seconds remaining in the period, finishing off a passing play with Jason Pominville and Marc-Andre Gragnani.
Jordan Leopold scored earlier in the second and Christian Ehrhoff put his first Buffalo goal into an empty net with 28.3 seconds left as the Sabres (4-1) won their second in a row on the road.
Raphael Diaz scored his first NHL goal for Montreal (1-3-1), which held a 41-23 shots advantage but completed an 0-2-1 homestand.
Price stopped 20 shots in his fifth straight start.
Miller kept the game scoreless in the first period when Montreal held a 14-3 edge in shots. He made a big glove save on Diaz's shot during a Canadiens power play midway through the third to protect Buffalo's one-goal lead.
Diaz scored his first goal in five games with the Canadiens to make it 1-0 at 2:08 of the second. The 25-year-old Swiss defenseman jumped up from the blue line to take Max Pacioretty's cross-ice pass before going wide and holding onto the puck. He beat Miller with a sharp-angle shot.
Leopold tied it 1-1 at 12:11 with his first goal.
Montreal appeared ready to head into the third period tied when defenseman Josh Gorges iced the puck at 19:54. But Buffalo's Paul Gaustad beat David Desharnais on a faceoff in the right circle, pushing the puck to Gragnani on his left. The Sabres defenseman passed back to Pominville who fed Vanek, left alone in the left circle.
Vanek wound up and then hesitated slightly before following through with a drive into the top right corner as Price came out to challenge and Gorges lunged in vain to block the shot.
NOTES: Sabres RW Patrick Kaleta broke his skate blade when he blocked Gorges' slap shot early in the third. ... Canadiens LW Michael Cammalleri missed his third straight game because of a leg laceration. He has resumed practicing with his teammates and is expected to return Thursday night in Pittsburgh.