Tavares' second goal broke a 3-3 tie 38 seconds into the third period. The Islanders center found the net on the second rebound after Carolina goalie Justin Peters had stopped shots by P.A. Parenteau and Matt Moulson earlier in the sequence.
Frans Nielsen and Kyle Okposo also tallied and Parenteau finished with three assists for New York.
Kevin Poulin earned the victory by stopping 33-of-36 shots.
Cam Ward started in net for the Hurricanes and yielded three tallies on 21 shots before being pulled from the game with a lower-body injury after two periods.
Peters relieved and stopped 9-of-10 shots.