Despite the victory, their second in a row, the Senators were eliminated from playoff contention because Columbus beat Phoenix in overtime on Tuesday.
Spezza scored the go-ahead goal 12:45 into the third period on a sharp-angle shot from the low right side that hit off goaltender Anders Nilsson's shoulder and rattled around inside the top of the net before popping out.
Play initially continued, but the Senators captain was sure right away the puck had gone in. After a brief review, he was proven correct.
Ales Hemsky made it 3-1 just 1:41 later, beating Nilsson glove-side with a close forehand, and Matt Kassian added an empty-net goal for the final margin.
Craig Anderson had 45 saves for the Senators, whose playoff hopes depended on them going 4-0 to finish the season and Columbus losing its remaining four games.
Frans Nielsen scored for the Islanders, who have lost three in a row. It was New York's final home game of the season. The Islanders went 18-19-2 in their second-to-last season at Nassau Coliseum before moving to Brooklyn in 2015.
Nilsson gave up three goals on 31 shots.