Ryan's third goal of the season gave Carolina a 2-1 lead at 9:35. When goalie Roberto Luongo bobbled a long shot by Justin Williams, Ryan batted the rebound out of the air with the shaft of his stick.
"It was one of those games where we were searching for that big goal," Ryan said. "Winning teams are able to find that big goal, especially at home, tied, going into the third. You've got to make sure you get those points."
WATCH: [All Panthers vs. Hurricanes highlights]
Luongo made 46 saves in his 500th game with the Panthers (4-8-2), who have lost five in a row (0-3-2). Luongo passed Terry Sawchuk for third in games played by an NHL goaltender with 972.
Defenseman Roland McKeown, playing his second NHL game, had two assists for the Hurricanes (5-5-3), who ended a four-game losing streak.
"The biggest thing is you've got to believe you can play in this league," McKeown, 21, said. "When you get the opportunity, you've got to show what you have. I'm doing my best to do that."
Brock McGinn gave Carolina a 1-0 lead at 12:17 of the second period when he poked in the rebound of Noah Hanifin's shot.