The Islanders trail ninth-place Toronto by one point and eighth-place Montreal by two. New York has two games remaining, while the Canadiens and Leafs face each other Saturday night in their regular-season finales.
Ryan Smyth and Mike Sillinger also scored for the Islanders while Wade Dubielewicz stopped 28 shots.
John Pohl and Carlo Colaiacovo scored for Toronto, while Andrew Raycroft stopped 22 shots.
The losses by both Toronto and Montreal clinched a playoff spot for idle Tampa Bay.
In an up-tempo first period which featured few whistles, the Islanders took a 1-0 lead with 3:03 left when Smyth led a rush, eluded two Maple Leafs and passed over to Mike Sillinger, whose backhand attempt was stopped by Raycroft. The rebound bounced to Smyth, who converted for his 36th goal this season - his fifth score as an Islander but first in eight games.
Toronto tied the game 4-on-4 at 13:36 of the second period. Darcy Tucker skated down the right side, pulled up and crossed a pass over to Pohl, who beat Dubielewicz to the short side.
The Islanders got the lead back with 25.6 seconds left in the period on their first power-play chance. Defenceman Tom Poti, at the left point, passed down low along the boards to Trent Hunter, who found Sillinger open in the left circle.
Sillinger wasted no time in letting go a low wrist shot that beat Raycroft to the far corner.
Colaiacovo tied the game 2:12 into the third. He beat Dubielewicz from the outer left circle with a wrist shot that hit the goalie on its way in.
The Islanders answered back 94 seconds later.
Blake did all the work himself to notch his 40th goal of the season to give the Islanders their third lead at 3:46.
Asham gave the Islanders a cushion when he blasted shot from the left side past Raycroft for his 11th goal at 11:49.
Asham, who hadn't scored in 30 games span, now has scored in consecutive contests.
Toronto pulled Raycroft with 2:18 left in the game, but Satan got an empty-net goal with 1:55 left.
Notes: Toronto captain Mats Sundin has now gone 11 games without a goal. He needs one to tie Darryl Sittler for most goals in a Toronto uniform (389). ... Blake became the 11th player in an Islander uniform to hit the 40-goal mark. ... Alexei Yashin's point-scoring streak was snapped at seven games. ... The Islanders, which drew 14,352 for their home finale, wound up with six sellouts in the 2006-07 season: three (of four) games against the Rangers, two against New Jersey, and one against Montreal.