Staal boosted his goal total for the season to 25 and added an assist, helping the Hurricanes to their third win in four games. He snapped a 1-1 tie 5:55 into the second period and then tipped in a shot by Joe Corvo 1:28 later.
All four Carolina goals came against Rick DiPietro, who stopped 27 shots.
The Islanders lost their third in a row and their 27 setbacks are second most in the NHL heading into the all-star break.
Carolina will host this weekend's NHL All-Star activities.
Astronomers offer more expansive view of universe
LGBT community has 'bullied the American people': Bachmann