Ennis capped off the performance with a penalty goal late in the match.
The Roosters' loss ended their mini late-season resurgence, and was compounded by an ACL injury to forward Sio Siua Taukeihaho in just the second minute of the match.
Despite the early injury setback, the Roosters stunned the hosts through tries to Connor Watson and Latrell Mitchell inside the opening quarter of the game.
However, an opportunistic Matt Prior pulled one back for Cronulla in the 25th minute before Barba levelled the game in similar fashion with a cutting run to score in the 37th minute.
James Maloney then wobbled over a 35-metre field goal on the last play of the first half to give his team an unlikely 13-12 lead.
From there, it was all the Sharks, with Gerard Beale, Jayson Bukuya and Valentine Holmes all making the most of a 26-5 advantage in red zone plays to canter to their 17th win of the year.