The hosts scored five tries to two in a dominant performance, notching the biggest win in their rivalry and the second-largest over any New Zealand side.
Fullback Curwin Bosch and second five-eighth Andre Esterhuizen led a compelling display on attack for the Sharks, who also strangled the Highlanders at the breakdown.
The home side held sway at scrum time, exacerbated by a Kings Park turf which broke up badly.
Their fourth win from 10 was comfortably their best and lifts the Sharks just inside the top eight with six games to play.
It snaps a three-match winning streak for the Highlanders who will lose ground on the competition-leading Crusaders and Hurricanes in the Kiwi conference.
The Highlanders paid for a slow start, conceding tries to hooker Akker van der Merwe and wing Makazole Mapimpi inside the opening 10 minutes.
Dillon Hunt struck back for the Highlanders, who trailed 17-7 at the break.
Hopes of a comeback were effectively snuffed out by tries to No.8 Dan du Preez and wing Sbu Nkosi.
First five-eighth Rob du Preez, who notched 18 points, finished off the try of the match before the Highlanders conjured a late consolation try to Teihorangi Walden.