Radek Dvorak added a goal and an assist, and Jay Bouwmeester and Steve Montador also scored for the Panthers, who snapped a 13-game losing streak on Carolina's home ice and won here for the first time since 2002.
Eric Staal, Sergei Samsonov and Trevor Letowski each scored for the Hurricanes, who would have clinched the division with a victory and outshot Florida 46-17 while committing no penalties to the Panthers' nine.
Instead for Carolina, it will be a long weekend of scoreboard watching. Washington would clinch the division title by beating Florida on Saturday night. The division goes to the Hurricanes with a Capitals loss.
Tomas Vokoun stopped 17 of the 18 shots he faced in the first period before leaving with back spasms and giving way to Craig Anderson, who finished the game and made 26 saves for the Panthers. Cam Ward made 13 saves in his 20th straight start for Carolina before he was pulled for an extra attacker with about 1 1/2 minutes left.
Samsonov had pulled Carolina within one goal by scoring on the power play midway through the third period, taking a feed from Ray Whitney and one-timing it high and past Anderson's glove side to make it 4-3. But Anderson was impenetrable after that, making flashy save after flashy save to seal Florida's first victory in Raleigh since a 2-0 win on Dec. 6, 2002.
For the Panthers over the years, the RBC Center had become a house of horrors after they were 14-0-0 with one tie since that victory. They blew a pair of late three-goal leads here last season and allowed a two-goal advantage in the third to slip away in a 5-4 loss in February.
But this time, Florida wouldn't allow the Hurricanes to get any closer than one goal after the first period.