Trailing 2-0 entering the third period, Tomas Fleischmann scored with 6 minutes remaining and newly acquired Wojtek Wolski -- obtained earlier Saturday from the New York Rangers -- netted the equalizer 4 minutes later.
After a scoreless overtime, the game moved to a shootout where Weiss eluded a poke-check by Hurricanes goalie Justin Peters and found the net for the game-winner.
Jose Theodore turned aside 26 shots as well as 2-of-3 in the tiebreaker to earn the win.
The Panthers snapped a four-game losing streak and bypassed the Winnipeg Jets for first place in the Southeast Division.
Peters ended with 42 saves.
Jussi Jokinen and Justin Falk scored for Carolina.