Semin's first goal 2:31 into the final period broke a 1-1 tie, and he struck again with a short-handed score 6 1/2 minutes later for a 3-1 Carolina advantage.
The Hurricanes would need the extra goal when Dmitri Kulikov scored for the Panthers with 5:39 remaining, but Florida would get no closer as Carolina snapped a two-game skid.
Riley Nash also scored and Anton Khudobin made 37 stops.
Marcel Goc got the other goal for Florida, which dropped a second game in two nights.
Tim Thomas turned aside 33-of-36 shots.