Roy snapped a shot past Craig Anderson when both teams had failed to score after each converted their first two attempts. Thomas Vanek and Brad Boyes also scored in the shootout for Buffalo, which went beyond regulation for the first time in 13 games.
Jhonas Enroth stopped Erik Karlsson, Nick Foligno, Kaspars Daugavins and Bobby Butler to set up Roy's winner. Enroth, who improved to 4-0, made 25 saves in his second start in as many nights. He stopped 29 shots in a 2-1 win over Calgary on Friday.
Roy and Jordan Leopold scored 2:16 apart midway through the second for the Sabres, who won their second in a row.
Sabres No. 1 goalie Ryan Miller has lost his last four starts, including a 3-2 loss to Philadelphia on Wednesday night when he was pulled in favor of Enroth after allowing three goals in the first 6:23.
Roy drew Buffalo even at 1-1 midway through the second. He redirected Ville Leino's shot past Anderson from the slot at 10:39.
Leopold made it 2-1 with his second goal at 12:55. Nathan Gerbe outplayed Ottawa's Stephane Da Costa for the puck behind the net and came out front to take a pair of shots at Anderson before Leopold put away the second rebound from the slot.
Condra scored on a breakaway at 14:13 to tie it at 2.
Michalek opened the scoring during 4-on-4 play 15:41 in. Senators defenseman Chris Phillips sent a lead pass to Michalek at center ice and the Czech left wing drove past Tyler Myers before putting a backhand past Enroth.
The Senators had a couple of great scoring opportunities to add to their one-goal lead before the midway mark of the second. Jesse Winchester hit the top corner of the right post after he was sent in by Kaspars Daugavins. Moments later Daugavins nearly tucked in a rebound off the end boards.
NOTES: Miller is 4-5 with a 2.49 goals-against-avearage and .922 save percentage in nine games. ... Senators captain Daniel Alfredsson missed his fourth straigth game because of a concussion. ... Anderson drew the secondary assist on Michalek's goal. ... Ottawa coach Paul MacLean used his timeout with 6.7 seconds left in the third before a faceoff in the Senators' zone.