BUFFALO, N.Y. -- Ryan Miller didn't mind being overshadowed by his team's unexpected offensive surge.
Miller made 19 saves for his first shutout of the season and 18th overall, and Drew Stafford had a goal and an assist in his return from an extended absence to lead the Buffalo Sabres to a rare victory over the Columbus Blue Jackets, 5-0 on Friday night.
The Sabres won for just the third time in their 11 games against the Blue Jackets, and scored just as many goals as they had in their previous four games.
"It's a good night when you can kind of get forgotten a little bit," Miller said. "I have no problem with that. We played a good game, and it's good to see. The puck went in the back of the net, we were able to control the play, and we played good defense. From where I'm standing, that's probably one of our better overall efforts."
The Sabres (10-13-3) converted on three of their six power plays, killed off all six Columbus man-advantage opportunities, and kept the Blue Jackets at bay by limiting second-chances after Miller made the initial save.
"It was the whole package, " Sabres coach Lindy Ruff said. "It might be as good a game as we played."
It was a chippy game between two teams that don't play each other very often. There were three fights and 112 combined penalty minutes, including Columbus defenseman Jared Boll's 5-minute major and 10-minute misconduct for elbowing Buffalo defenseman Shaone Morrisonn in the head along the boards late in the third period.
It was Stafford's first game after missing the past 11 because of a shoulder injury. He left briefly with 12 minutes left in the third period after being slammed into the boards by Boll, but was able to come back.
Buffalo outshot the Blue Jackets by a 29-12 margin over the first two periods in taking a 3-0 lead, and won for the second time in its last five games.
"We talked about goal scoring, and tonight the puck went in for certain guys," Vanek said. "Once we got the 2-0 lead we played with confidence."
Backup Mathieu Garon finished with 32 saves for the slumping Blue Jackets (14-9-1), who are winless in their last four after stringing together five straight wins.
"We just didn't seem ready from the start," Columbus captain Rick Nash said. "It was a poor effort."
Ennis iced it for the Sabres with his sixth of the season with 4:29 left in regulation, and Vanek made it 5-0 with a power-play goal with 47 seconds to go.
Up by a pair of goals after 20 minutes, Stafford made it 3-0 on the power play with his fifth of the season with 7:59 left in the second. He converted a nifty behind-the-back pass by Roy with a one-timer from the lower-left circle that beat Garon.
The goal came less than a minute after Columbus had a goal waved off. Fedor Tyutin's shot from the top of the right circle beat Miller, but Ethan Moreau was penalized for goaltender interference.
Earlier in the period Columbus' Chris Clark had a goal disallowed after a short video review confirmed he put the puck in with a high stick.
Buffalo opened the scoring just under 6 minutes into the first period when Hecht shoveled home a loose puck in the crease for his third of the season.
Pominville stretched Buffalo's lead to 2-0 with 5:06 left in the first period with a power-play goal from in tight.
"Too many guys on vacation," Blue Jackets forward R.J. Umberger said. "It was probably our worst effort in a while. We're not going to win any games like that."
Columbus coach Scott Arniel was an assistant under Ruff from 2002-06. ... Columbus fell to 4-1-0 against the Eastern Conference. ... Pominville snapped a nine-game goal drought, and has two goals in 17 games. He has scored 20 or more goals in all but one of his past five seasons. ... Garon dropped to 1-5-0 in six lifetime starts against Buffalo. ... Umberger had his franchise-high 10-game points streak snapped. ... The Blue Jackets have lost two straight on the road, and are 8-3-0 away from home.
Copyright by STATS LLC and The Associated Press
BUFFALO, NY - DECEMBER 03: Jordan Leopold #3 of the Buffalo Sabres looks up to the scoreboard while warming up to...