The victory pushed Buffalo seven points ahead of Atlanta for the top spot in the conference.
"It's big," said Vanek, who had the eighth multi-goal game of his career and fourth this season. "It's only December, but at the same time it's going to count towards April. It's a good win for us, and it separates us a little bit more."
The Thrashers defeated Buffalo 5-4 in a shootout in October, snapping the Sabres' NHL record-tying 10-game winning streak to start the season.
"They were the team that broke our streak. We talked about it and were ready for them," said Jason Pominville, who scored Buffalo's second goal. "They're a team with a lot of skill, and they make you pay. I think overall we played a real solid game."
Daniel Briere added a goal and an assist for the Sabres, who have won three straight and four of their last five.
Glen Metropolit scored for the Thrashers, who were denied in the first six-game winning streak in franchise history for the second time this month.
"We played a pretty strong game, but they capitalized on a couple of chances," Thrashers coach Bob Hartley said. "That's the kind of team that they have. We can't fault our effort. We played a good game, and showed up to work."
Buffalo held a slim two-goal lead after two periods when Metropolit cut the lead to 2-1 with his seventh goal at 2:41 of the third. Vanek answered with a power-play goal with 3 minutes left in regulation, and capped the scoring with an empty-net goal with 1:47 left.
Vanek leads the Sabres with 22 goals after scoring 25 last season as a rookie.
"When you're playing teams that are on a roll, it's a real good test for your team," Sabres coach Lindy Ruff said. "It doesn't allow you to take any time off."
Miller was making his third straight start, and has allowed five goals in those games. He got help in the first period when Atlanta forward Jean-Pierre Vigier shot wide on a short-handed, breakaway attempt.
"I'm not too high or too low," said Miller, who helped defeat Carolina 4-1 two nights earlier. "That's the way I want to keep it."
Briere opened the scoring nearly seven minutes into the first period with his 15th of the year. Off the rush, Briere converted a tic-tac-toe passing play with Vanek and Maxim Afinogenov, redirecting Vanek's feed over Atlanta goalie Kari Lehtonen.
Pominville pushed Buffalo's lead to 2-0 with his 18th of the season with 3:15 left in the second period. After Atlanta defenseman Greg de Vries was caught pinching in from the right point, the Sabres broke away on a 3-on-1, with Vitaly Vishnevski the lone defenseman back. Briere found Pominville in the right circle, and the winger took two strides before wristing a shot past Lehtonen.
Lehtonen, making his sixth straight start, finished with 28 saves. He has allowed 14 goals over those starts.
"Both teams played pretty well," he said. "They got some chances, and we weren't able to come back. A couple of mistakes here and there, and that's how they got the lead."
The Thrashers are two games into a stretch where they play eight of nine on the road. ... Briere snapped his nine-game goal-scoring drought, the longest since going nine games without a goal in the 2003-04 season. ... Pominville has scored in four of his last five games. ... Atlanta also had a five-game winning streak from Nov. 25-Dec. 5. ... Buffalo D Jaroslav Spacek left the game with 12 minutes left in the third and did not return after blocking a shot. Ruff said he has a bruised left knee, but is not expected to miss any time.