The Sharks secured a crucial 25-20 South African Super Rugby Conference victory over the Stormers in Durban on Saturday.
The result keeps the Sharks in the top six in the Super Rugby standings and prevents the Stormers from regaining the top spot in the overall standings.
The Stormers had led the South African conference by some distance earlier in the season but the Bulls and Sharks have now closed the gap to two and five points.
The loss was only the Stormers second loss of the season but their conference rivals have earned 8 (Bulls) and 9 (Sharks) bonus points while the Stormers have struggled to score tries and have only picked up two bonus points in all of their matches.
First half tries by Frederic Michalak and Keegan Daniel proved key as the pair scored on 17 and 37 minutes respectively to help the hosts to a 20-6 lead at the break, before Lwazi Mvovo extended that advantage straight after the interval.
However, two fine solo tries by Gio Aplon gave the visitors hope, although it came too late to deny the home side a fourth successive win, which also helped them end a three-match losing streak against the Stormers.
It was just reward for the Sharks after another impressive display and helped them climb back to sixth on the overall standings.
After a tense opening to the game, Peter Grant kicked the visitors in front in the ninth minute when Mvovo was caught offside, with Patrick Lambie replying instantly after the Stormers were penalized at the ruck.
An error from Jannie du Plessis, who failed to roll away, allowed Grant another shot at goal that was sent over.
The Sharks scored the opening try in the 17th minute when Michalak's initial up-and-under caused problems in the visiting defence, with a quick tap-and-go penalty by Charl McLeod leading to the Frenchman collecting and dotting down courtesy of some good hand work on the line.
Lambie converted and added a penalty just before the half-hour mark to take the lead out to seven points for the hosts, before that was stretched to 14 four minutes before the break.
John Plumtree's men turned over a scrum in the build-up to their second try, before some quick ball was followed by skipper Daniel spotting a gap and making his way over.
The hosts continued to dominate after the restart with Mvovo crossing on the left for his seventh try of the season after taking a slick pass by Marcell Coetzee, although a tough conversion attempt was this time missed by Lambie.
The visiting Stormers scored their first try in the 53rd minute when Michalak's loose pass led to Aplon collecting and the Springbok back darted almost 70 metres to score.
The visitors got their reward with seven minutes to play when Aplon danced his way through a non-existent defence by running 35 metres untouched to score under the post.
Grant converted the try, but the Sharks held on to win the match.
Final Score Sharks 25 (20) Stormers 20 (6).
Tries - F. Michalak, K. Daniel, L. Mvovo
Pen - P. Lambie 2
Con - P. Lambie 2
Tries - G. Aplon 2
Pen - P. Grant 2
Con - P. Grant 2
Referee: Jaco Peyper
Assistant Ref 1: Lourens Van der Merwe
Assistant Ref 2: Reuben Roussouw
TMO: Johann Meuwesen
15. Patrick Lambie , 14. JP Pietersen , 13. Paul Jordaan , 12. Meyer Bosman , 11. Lwazi Mvovo , 10. Frederic Michalak , 9. Charl McLeod , 8. Keegan Daniel (C) , 7. Willem Alberts , 6. Marcell Coetzee , 5. Anton Bresler , 4. Steven Sykes , 3. Jannie du Plessis , 2. Bismarck du Plessis , 1. Tendai Mtawarira
Replacements , 16. Craig Burden , 17. Wiehahn Herbst , 18. Pieter-Steph du Toit , 19. Ryan Kankowski , 20. Jacques Botes , 21. Odwa Ndungane , 22. Louis Ludik.
15. Gio Aplon, 14. Gerhard van den Heever, 13. Juan de Jongh, 12. Jean de Villiers (C), 11. Bryan Habana, 10. Peter Grant, 9. Dewaldt Duvenage, 8. Jebb Sinclair, 7. Rynhardt Elstadt, 6. Deon Fourie, 5. Andries Bekker (VC), 4. Eben Etzebeth, 3. Brok Harris, 2. Tiaan Liebenberg, 1. Steven Kitshoff.
Reserves: 16. Siya Kolisi, 17. Frans Malherbe, 18. De Kock Steenkamp, 19. Don Armand, 20. Nick Fenton-Wells, 21. Louis Schreuder, 22. Burton Francis.