Hilbert broke a 3-3 tie when he redirected Marc-Andre Bergeron's backhand pass into the net for his eighth goal at 15:20 of the third period.
Richard Park, Randy Robitaille and Jason Blake also scored for the Islanders, who have won two straight after dropping six of their previous seven games.
Jeff Carter, Randy Jones and Ben Eager scored for the Flyers, who lost their fourth straight game and sixth in their last seven. Carter and Simon Gagne, who returned after missing six games with a left groin strain, each added two assists for the Flyers.
Park put the Islanders ahead at 3:44 of the first period when he skated in from the left side and slammed in a rebound of a shot by Victor Kozlov for his seventh goal and second in the last three games.
Carter pulled Philadelphia even with 42 seconds left in the period when his shot from the crease bounced off the stick of Islanders goaltender Rick DiPietro. It was his 11th goal of the season.
Each team scored twice in the second period.
After Jones scored his fourth goal on a backhander at 3:17, DiPietro fired the puck deep into the Flyers' zone. Alexei Yashin redirected it onto the stick of Robitaille, who scored the power-play goal on a wrist shot at 9:16 for his 11th goal.
Eager put the Flyers ahead with a rebound 17 seconds later for his fourth goal, but Blake tied it 3-3 when he put in his own rebound after his shot bounced back off the stick of Philadelphia's Derian Hatcher with 1:14 left in the period.
Four players snapped long scoring droughts in the game. Jones broke a 17-game slump. Carter and Robitaille scored their first goals in 16 games, and Eager had his first in 13 contests.
NOTES: Blake played in his 500th NHL game. ... Philadelphia RW Scottie Upshall returned after missing three games with an upper body injury. ... Flyers D Joni Pitkanen played in his 200th NHL game. ... New York outshot the Flyers 17-5 in the first period but failed on four power-play opportunities.