Vanek scored twice to help Buffalo end a two-game skid.
The teams combined for six goals in the second period, with Vanek, Tyler Ennis and Andrej Sekera scoring in succession late in the stanza to give the Sabres a 4-2 lead.
Nikolai Kulemin converted a penalty shot for Toronto midway through the third but Vanek restored Buffalo's two-goal cushion on a slap shot. Vanek has 16 goals for the season.
Mikhail Grabovski again cut the Buffalo lead to one with 3:45 to play but the Sabres fought off the Maple Leafs with Ryan Miller eventually making 29 saves.
All five Buffalo goals came off James Reimer. It was the third time this month Reimer has allowed four or more goals in a game.