Souths' loss was made even worse when five-eighth Luke Keary was put on report for an incident which left Sharks captain Paul Gallen clutching at his eye.
After the tackle Gallen could be heard saying "I can't see" over the referee's microphone. But he did play on.
Replays appeared to show Keary's hand very close to Gallen's eye. In putting the incident on report referee Matt Cecchin said: "it's been reviewed, his hand was above the eye".
Greg Inglis played less than three weeks after undergoing knee surgery and was a shadow of his usual self, as he was clearly hampered by the injury and regularly attended to by Rabbitohs' medical staff during the game.
Ennis and skipper Paul Gallen led the way for the Sharks, who have moved into the second week of the finals after their wooden spoon finish last season.
Sharks pivot Jack Bird opened the scoring in the 21st minute after he broke the line on a set play and ran 25m.
The Sharks added to that nine minutes later when Wade Graham pounced on a Jeff Robson kick that was fumbled by Paul Carter.
When Anthony Tupou crashed over from close range off an Ennis pass in the 36th minute the Sharks stretched their lead to 18-0, the halftime score.
Without George Burgess due to suspension, the Rabbitohs were dominated up front and the match was all but over when Ennis put Sam Tagataese over in the 61st minute.
Souths finally troubled the scorer when Dylan Walker beat the tackle of his opposite Ricky Leutele in the 67th minute, before Chris Grevsmuhl crossed in the 76th minute.
Inglis was put on report for a high tackle on Gallen in the 64th minute.
The crowd of 27,031 meant a record of 131,794 fans attended the first week of the NRL finals.