Butler scored at 9:50 and 16:12 of the final period to break a 1-1 tie and give the Senators a modest two-game winning streak after losing five in a row.
Mikka Kiprusoff made 29 saves for the Flames, who lost their third game in their last four tries.
Tom Kostopoulos scored Calgary's only goal at 16:12 of the first period to tie it up after Alfredsson staked the visitors to a 1-0 advantage.
Calgary went 0-for-6 on the power play.
Gal Gadot cast as Wonder Woman for 'Batman vs. Superman'
Kate Middleton recycles dress at movie premiere