Detroit won for the second time in as many outings this season and spoiled the opener for the Hurricanes, who took a 2-0 lead into the third period.
Justin Abdelkader brought Detroit within one just 42 seconds into the third, but the Red Wings could not get the game tied until Henrik Zetterberg put a slap shot past Cam Ward with 17 seconds to go in regulation.
The score by Weiss was his first for Detroit after having spent the first 10 years of his career with Florida.
Senate Democrats to pull all-nighter on climate change
Scarlett Johansson steps out with fiance after pregnancy reveal