It was the Rabbitohs' second loss of the season and their first in five games.
The Sharks scored first when hooker John Morris dummied his way over the line in the fourth minute.
Souths hit back with winger Bryson Goodwin finishing well in the corner after good lead-up work from halfback Adam Reynolds, five-eighth John Sutton and centre Dylan Walker.
Reynolds' sideline conversion did nothing to quell the Sharks' momentum.
Isaac De Gois had a try ruled out after he was held up by Ben Lowe, but it was a brief reprieve for the Rabbitohs.
A minute later, forward Jayson Bukuya crossed for the Sharks' second try after a kick from five-eighth Todd Carney deflected into his path off an opposing player.
The home team's 12-6 halftime advantage was wiped out within four minutes of the restart.
Powerful forward Sam Burgess, who had been placed on report late in the first half for a high tackle on Fifita, smashed his way over the line.
It looked as if Souths were launching one of their trademark third-quarter surges that had previously burnt off Manly and Brisbane, but the Sharks regained the initiative in the final quarter.
Fifita had a try rubbed out for a forward pass, but he earned a match-clinching penalty when he was stripped of the ball near the Souths line.
Carney kicked the penalty from 12 metres to put Cronulla ahead and they maintained their ascendancy for most of the last quarter.
Sutton left the field late in the game after he appeared to be tackled high by Bukuya.
- AAP