Updated

Cody McCormick scored the go-ahead goal, got into a fight and drew a key penalty in the Buffalo Sabres' 3-2 victory over the Carolina Hurricanes on Thursday night.

Drew Stafford and Nathan Gerbe also scored to help Buffalo improve to 5-1-1 in its past seven. Thomas Vanek had two assists and Ryan Miller made 27 saves in cooling a Hurricanes offense that had 15 goals in its previous three games.

Tuomo Ruutu and rookie Jeff Skinner, with 32 seconds remaining, scored for Carolina, which had a three-game winning streak snapped and lost in regulation for the first time in its past nine (6-1-2).

The win allowed Buffalo to gain ground on Carolina in a midseason matchup between two teams attempting to climb back into playoff contention. The 10th-place Sabres have 43 points, inching within five of the ninth-place Hurricanes in the Eastern Conference.

McCormick, a checking-line journeyman, had a solid outing for a team that was left reeling after squandering a 2-0 lead in a 5-2 loss to Philadelphia on Tuesday night.

McCormick first charged the crowd midway though the first period when he got into a fight with Troy Bodie.

Then, after Gerbe and Ruutu traded goals, McCormick put the Sabres ahead for good 11:49 into the second period when he parked himself in front to screen goalie Cam Ward, who had difficulty handling Jordan Leopold's shot from the left point. McCormick then pounced on the rebound and flipped it just inside the right post.

It was McCormick's second goal in as many games and gave him a career-best 13 points on the season.

Then came McCormick's coup de grace 2:49 into the third period when he was cross-checked at the side of the Carolina net by defenseman Joni Pitkanen.

The Sabres capitalized 37 seconds into the power play, when Vanek set up Stafford in the slot for a snap shot that beat Ward over his right shoulder putting Buffalo ahead 3-1.

Carolina's Eric Staal had an assist on Ruutu's goal to extend his point streak to seven games in which he has seven points (three goals, four assists).

NOTES: Hurricanes C Ryan Carter returned after missing three games with an upper body injury. Carter's return left Sergei Samsonov as a healthy scratch... Sabres captain D Craig Rivet was a healthy scratch for the first time since playing nine straight. ... Sabres G Miller made his 20th consecutive start. Miller hasn't had a night off since Nov. 24, when he missed his second straight game with a groin injury. ... Hurricanes G Ward appeared in his 308th game, one short of matching Arturs Irbe for most by a goaltender since the team relocated to Carolina in 1997.