Behind 3-2, Tampa Bay scored four third-period goals.
"Give the team high marks," Lightning coach John Tortorella said. "They battled through that and it could have gone the other way, so it's good stuff."
Craig made it 5-3 when his shot from in front hit Auld and trickled over the goal line at 12:12. Boyle's shot from the lower left circle went between Auld's pads at 7:14 to put Tampa Bay ahead 4-3.
"We never let the game get away from us at any point tonight," Craig said. "We felt in control, kept our composure and never wavered from our game plan."
Jokinen closed the gap to 5-4 at 16:44 when his shot from below the left circle went between Holmqvist's legs. Richards had an empty-net goal at 19:47.
"We probably played a little more desperate," Richards said. "We needed a win. We knew we could take it to these guys like we did in the first period but we knew it wouldn't be easy. They had a surge there in the second."
Tampa Bay tied it at 3 on Craig's first goal at 3:05 of the third.
"I really don't know what happened in the third period," Jokinen said. "Too many ups and downs during the game."
Trailing 2-0, Florida scored three goals in the second period.
They made it 2-1 on Peltonen's power-play goal at 12:21 of the second. His shot from the right circle went just inside the post on Holmqvist's glove side.
The Panthers tied the score 2-all after a goal by Roberts. Holmqvist blocked a shot from Stephen Weiss but the puck bounced off Robert's jersey and went into the net over the prone Holmqvist at 18:05.
Florida took a 3-2 lead during a power play at 19:52 when Salei's shot from the right point deflected off Lightning defenseman Cory Sarich over the goal line.
"We let them off the hook," Florida defenseman Mike Van Ryn said. "It's a tough loss because we had them."
A power-play goal put the Lightning ahead 2-0 at 15:39 of the first. Dan Boyle passed across the ice to Filip Kuba above the right circle. His shot was deflected by Richards into the net.
Tampa Bay took a 1-0 lead at 7:38 of the first on Perrin's goal. Craig brought the puck out from behind the net and passed it to Perrin in front. His shot went high past Auld.
Tampa's Vincent Lecavalier took a penalty shot at 9:43 of the first period but Auld blocked it with his left leg.
- Florida's Chris Gratton got a game misconduct after a first-period fight with Nick Tarnasky.
- Greg Jacina played for Florida after being called up from Rochester.
- Tampa Bay's Tim Taylor sat out the game because of a neck injury.