Taylor Hall put Edmonton on the board 10:33 into the opening period with his 12th goal of the season.
The Sabres responded a few minutes later, when Jason Pominville netted his 13th of the season.
The Oilers thought they had their second goal of the night, but Ryan Smyth was called for goaltender interference and the goal was waived off.
However, after a charging penalty was given to Patrick Kaleta, the Sabres found themselves down two men. Edmonton took advantage, tying the game at two with a goal from Sam Gagner, his 5th of the season.
After 40 minutes, the teams were deadlocked at two.
The Oilers came into tonight’s game with an 0-5-2 record when tied after two periods.
Edmonton played Monday night and had to travel and their fatigue may have started to show in the third period.
The Sabres applied consistent pressure during the 3rd period and were finally rewarded when Drew Stafford knocked home a rebound for his 7th of the season.
Just a couple of minutes later, Nathan Gerbe used a breakaway goal to put the Sabres up 4-2 with less than four minutes to go.
The Oilers kept working, and were rewarded with just under two minutes to play. Corey Potter tallied his third goal of the season, giving the Oilers a chance to tie it up with the extra attacker.
Although Edmonton spent the final minute in the Buffalo zone, the Sabres were able to hold off the Oilers and win their first game of 2012.
Ryan Miller stopped 23 of 26 and earned the win. Miller improved to 6-0 lifetime against the Oilers. At the other end, Nikolai Khabibulin allowed four goals on 33 shots in the loss.
The Sabres will head to Carolina to face the Hurricanes on Friday at 7 p.m.