Florida had a season-high eight penalties; Carolina had five.
Florida led 3-2 going into the third period before Carolina scored two power-play goals in 1:57, including Williams' game-winner.
Faulk tied it 3-3 with a snap shot from the right face-off circle at 19 seconds. Williams made it 4-3 at 2:16 with a shot from close range that went in just under the crossbar.
The Hurricanes missed a chance to add to their lead when they failed to score on a 5-on-3 power play that began at 5:20.
"I think they maybe lost their composure a little bit there and we certainly did too at certain times," Williams said. "You've got to feel the game and how the refs are calling it. We certainly don't want to exchange power plays with a team like that because they have one of the best in the league and they made us pay tonight."
Florida, which entered with the third-ranked power play in the NHL (25.4 percent), was 2-for-5 with the man-advantage.
Williams gave Carolina a 1-0 lead at 5:12 of the first period when Brett Pesce's shot went off his face as he stood to the left of the net. Williams went to dressing room after the play but returned later in the period.
"Thank God it was Pesce," Williams said. "If it was anyone else, I probably would have broken my jaw. You got to the net, sometimes you get hit. Fortunately it went in. It might be a highlight, but it'll be smarting for a few days."
Niederreiter made it 2-0 on a rebound at 4:35 before Florida scored three unanswered goals in 4:15.
Dadonov made it 2-1 at 6:53 after a turnover behind the Carolina net. The Panthers then took the lead with two power-play goals in 1:19.
Barkov tied it 2-2 at 9:49 when he used the shaft of his stick to redirect Dadonov's pass in midair with a backhand. It was Barkov's fifth goal in three games.
"I saw the puck and I just tried to swing," Barkov said. "I tried to touch the puck and fortunately it went in. You keep working hard and bounces are coming."
Huberdeau made it 3-2 at 11:08 with a low wrist shot from the slot.
Brind'Amour called a timeout after the goal.
"We were [lousy] at the time," said Williams, the Carolina captain. "We came back, we had a really good shift after that, we drew a penalty. But still it wasn't great. It was just a great comeback and a perfect time for a timeout."