Four penalties from the boot of Handré Pollard were enough for the Bulls to put away the Sharks 17-10 at Kings Park.
Crushing defeats to the Crusaders and Lions have left the Sharks season in disarray, while the Bulls knew that victory in Durban would move them back to the top of the South African Conference after the Stormers' earlier win over the Force.
Perfect conditions should have encouraged both sides to open up their attacking game but the Sharks have struggled to find a cutting edge with the ball in hand.
Springbok flanker Marcell Coetzee made a crucial intervention with a turnover in his 22 to stop an early onslaught from the Bulls and it was Fred Zeilinga, standing in for the injured Pat Lambie, who nailed the first points with a penalty.
A real tussle typical of these derbies, Zeilinga missed a second attempt to keep the score at 3-0 until a scrum penalty against the Sharks gave Pollard, returning after two weeks off, his first chance to put some points on the board which he comfortably took.
The Sharks defence had been fairly solid for the majority of the first half but they had no answers for the combination of Rudy Paige and Francois Hougaard, with the scrum-half and winger combining down the blindside with an exchange of passes to send the Springbok international over for the first try.
Pollard couldn't convert but the Bulls took a deserving lead into the half-time break up at 8-3, with Burger Odendall impressing in particular.
The Sharks have had their character questioned frequently this season but they started the second half perfectly.
Cobus Reinach was at the heart of their try, bursting through the defence and offloading to Coetzee on his shoulder for the score, with the conversion from Zeilinga then putting the Sharks ahead.
Pollard responded almost instantly as the Sharks went off their feet at the ruck, putting the Bulls back ahead, but he missed another attempt not long after to keep the gap on the scoreboard at a single point.
Zeilinga continued the kicking jitters with an arguably straightforward miss before Coetzee was singled out by referee Jaco Peyper for illegally using his hands in the ruck.
That chance wouldn't be squanded by Pollard as he made it 14-10 but the Sharks had an opportunity to counter of their own off the tee, only for Lionel Cronje to miss.
The television match official rightly found no foul play when Lourens Adriaanse's boot accidentally made contact with the face of Arno Botha, before Pollard looked to have secured the win with a fourth penalty to give the Bulls a seven-point advantage.
Another turnover win from Coetzee gave the Sharks a penalty and a final chance to march upfield for what would have been a potentially equalising converted try.
However it wasn't to be, with the Bulls winning the breakdown penalty and securing what is bound to be a valuable victory later in the season.
Pens: Pollard 4
Sharks: 15 Odwa Ndungane, 14 S'bura Sithole, 13 Waylon Murray, 12 Andre Esterhuizen, 11 Lwazi Mvovo, 10 Fred Zeilinga, 9 Cobus Reinach, 8 Renaldo Bothma, 7 Willem Alberts, 6 Marcell Coetzee, 5 Marco Wentzel (c), 4 Mourtiz Botha, 3 Jannie du Plessis. 2 Franco Marais, 1 Tendai Mtawarira
Replacements: 16 Monde Hadebe, 17 Thomas du Toit , 18 Lourens Adriaanse, 19 Lubabalo Mtyanda, 20 Etienne Oosthuizen, 21 Conrad Hoffmann, 22 Lionel Cronje, 23 SP Marais
Bulls: 15 Jesse Kriel, 14 Francois Hougaard, 13 JJ Engelbrecht, 12 Burger Odendaal, 11 Bjorn Basson, 10 Handre Pollard, 9 Rudy Paige, 8 Pierre Spies (captain), 7 Jacques du Plessis, 6 Deon Stegmann, 5 Grant Hattingh, 4 Flip van der Merwe, 3 Marcel van der Merwe, 2 Adriaan Strauss, 1 Dean Greyling
Replacements: 16 Callie Visagie, 17 Morne Mellet, 18 Arno Botha, 19 Lappies Labuschagne, 20 Piet van Zyl, 21 Tian Schoeman, 22 Jurgen Visser, 23 Trevor Nyakane
Referee: Jaco Peyper
Assistant Referees: Marius van der Westhuizen, Archie Sehlako
TMO: Marius Jonker