Zach Sanford, Austin Watson and Brady Tkachuk scored, and Anton Forsberg made 23 saves for Ottawa (18-25-4), which was 5-for-6 on the penalty kill. Nick Holden had two assists.
"We took six [minor penalties], so that that throws you right off and we just weren't crisp, especially in the first period," Senators coach D.J. Smith said. "But our penalty kill was great. Other than one mistake, our penalty kill wins us the game."
Kyle Okposo scored, and Anderson made 25 saves for Buffalo (16-25-8), which had won two in a row.
"As a forward group we just didn't have enough sustained pressure in the offensive zone and allowed them too much room to get speed and get on our [defensemen]," Okposo said.
Okposo gave Buffalo a 1-0 lead on the power play at 13:37 of the first period on a breakaway down the right side. He took a cross-ice stretch pass from Rasmus Asplund at the Ottawa blue line and deked Forsberg before lifting the puck over him at the right side of the net.
Sanford tied it 1-1 at 16:04 of the second period when he took a backhand pass from Tyler Ennis in the slot and dragged the puck to the front of the net before lifting it under the crossbar.
"Yeah, that was a nice pass by him," Sanford said. "He's had quite a few of those this year. … I see him with the puck, I'm just trying to get to the net and he puts it right on my tape."
The Sabres didn't have a shot on goal for the first 15:07 of the third period.
"The execution was not there," Buffalo coach Don Granato said. "But still, you have to look at your work ethic, you have to look at your willingness to battle and, at the end of the day, if you have a team that wants to compete and is hungry, you've got to return that. And that was the difference tonight. They were hungrier than we were, more than we were. And we weren't that enough, period, and that accumulated to the point where they hit that break point in the third period there."