Carey Price, who allowed four goals on nine shots in 30 minutes on Wednesday night, stopped 24 shots.
Spezza tied it at 2 when he scored from behind the goal line 15:33 into the second. Sergei Gonchar drew an assist in his Ottawa debut when Spezza's shot from the left corner caught Price by surprise.
Maxwell, who scored a power-play goal 1:54 in, was stopped by Elliott on a penalty shot at 16:02.
Ottawa took the lead at 18:32 when Foligno beat Price on a deke. Butler, who was hauled down by Josh Gorges on a breakaway, also faked and shot past Price to make it 4-2 with 34.1 seconds left in the second.
Spezza, who assisted on the Senators' third goal, and Foligno each added their second goal of the game in the third.
Copyright by STATS LLC and The Associated Press
Arena: Canadian Tire Centre Location: Ottawa, Ontario
Referees: Chris Rooney, Wes McCauley Linesmen: Scott Driscoll, Tim Nowak
Attendance: 18,822 (101.7% full)
Benjamin Maxwell 1 (power play) Assist: Josh Gorges
Chris Neil 2 (power play) Assist: Mike Hoffman, Bobby Butler
Tomas Plekanec 2 Assist: Benoit Pouliot
Jason Spezza 1 Assist: Sergei Gonchar, Chris Campoli
Nick Foligno 3 (power play) Assist: Jason Spezza, Chris Campoli
Bobby Butler 1 (penalty shot) Unassisted
Jason Spezza 2 (power play) Assist: Milan Michalek