Farabee gave the Flyers a 1-0 lead at 4:57 of the first period, stuffing in a rebound at the top of the crease.
Schmidt one-timed a pass from Rodrigues off the side boards to tie it 1-1 at 5:32 of the second.
Kulikov put the Panthers ahead 2-1 at 8:40 with a wrist shot from the slot.
Richard responded to tie it 2-2 at 13:00 with a wrist shot from the high the slot.
Bennett gave the Panthers a 3-2 lead at 14:56 with a one-timer from below the right circle off a cross-ice pass from Carter Verhaeghe.
“That team plays hard, and it was a hard-fought game the whole way through,” said Bennett, who is second on the Panthers with nine goals this season. “We don’t really look at the streaks, just try and treat each game the same. We’re good at getting up for games that are tough to get up for and playing the same style of hockey. We’ve done a great job during this stretch.’’
Hathaway tied it 3-3 at 9:47 of the third when his backhanded shot deflected in off the skates of Florida defenseman Uvis Balinskis.
Bobrovsky made six saves in the overtime period before stopping four of five in the shootout.
“That was a fun challenge,’’ Bobrovsky said. “Lots of breakaways, so I think it was fun for the fans.”
The Flyers are 1-2-1 in their past four games.
“We’re playing better,” Philadelphia coach John Tortorella said. “The past few games, we’re playing better, more in tune to what we are supposed to play like.’’
NOTES: Hathaway’s goal was Philadelphia’s sixth game-tying, third period goal this season. Only the Calgary Flames (seven) have more. … Panthers forward Matthew Tkachuk played his 600th NHL game. … Bennett’s goal was his 300th NHL point (146 goals, 154 assists) in 630 games.