Saku Maenalanen and Jaccob Slavin scored, Greg McKegg had a goal and an assist, and Curtis McElhinney made 28 saves for Carolina (20-17-5), which defeated New York for the first time in four tries this season (1-2-1).
"That team makes you earn everything you've got," Williams said. "They play hard, they play tough in the defensive zone and we're happy to finally get a win against them.
WATCH: [All Hurricanes vs. Islanders highlights]
"We haven't exactly played our best hockey but we're finding ways to win games, and that's what good teams do. Hopefully we'll wind it up and be better next game."
Brock Nelson had two goals and an assist, and Devon Toews scored for New York (23-14-4), which had a six-game winning streak end. The Islanders have not won seven straight in a single season since their nine-game streak between Dec. 31, 1989, and Jan. 19, 1990. Thomas Greiss made 20 saves.
"Average," Islanders captain Anders Lee said. "There were times where we were fine, but then there were times where you could just tell we made some mental mistakes."