Blue Bulls got right back on the Currie Cup horse on Saturday as they came from behind to edge the Sharks 40-34 at Loftus Versfeld.
The Sharks, who remain seven points ahead of their nearest challengers despite the loss, took the initiative with Lwazi Mvovo going over on the right wing in the seventh minute for the first try of the match.
And while fly-half Pat Lambie - who had fluffed a penalty kick two minutes earlier - again missed with the conversion, he added three points in the tenth minute to give the visitors a 10-0 lead.
Two minutes later, however, Bulls centres Wynand Olivier and Jaco Pretorius set up a try for the hosts, with Juandre Kruger barging over and fly-half Jacques-Louis Potgieter adding the conversion to narrow the gap.
Lambie and Potgieter traded a penalty a piece before Sharks captain Stefan Terblanche stormed over on the counter attack in the eighteenh minute to stretch the lead again for the visitors. Lambie converted, and added two more penalties before half-time, with Potgieter securing three points in reply for the hosts as the Sharks took a 24-13 lead into the half-time break.
Potgieter had two penalty attempts after the break, and while he converted with the first to close the gap slightly, he completely bungled the second.
Nonetheless, the Bulls took advantage of a disjointed Sharks outfit, scoring seventeen points within six minutes to gain the advantage. Scrum-half Ruan Snyman went over between the posts in the 56th minute, and two minutes later Jaco Engels found a gap and steamrolled over Lambie to score.
Potgieter converted both tries, and added another three points for a penalty as the hosts took control, leaving the Sharks to play catch-up.
Lambie struck back a minute later with his fifth successful penalty attempt of the game to bring the visitors within six points at 33-27.
But in the 69th minute Olivier intercepted and broke clear to score the Bulls' bonus-point try. Full-back Zane Kirchner made up for a missed penalty from his team's own half two minutes earlier to slot the conversion and stretch the gap further.
The Sharks still had some fight left, however, and three minutes later Alistair Hargreaves went over for the visitors, with Lambie converting to bring them back within reach at 40-34.
With five minutes left on the clock, Bulls substitute Dustin Jinka missed a penalty, sending his attempt wide, but while the visitors pushed forward in the dying stages, the hosts had done enough to save their season campaign.
For Blue Bulls:
Tries: Kruger, Snyman, Engels, Olivier
Con: Potgieter 3, Kirchner
Pen: Potgieter 4
For the Sharks:
Tries: Mvovo, Terblanche, Hargreaves
Con: Lambie 2
Pen: Lambie 5
Blue Bulls: 15 Zane Kirchner, 14 Gerhard van den Heever, 13 Jaco Pretorius, 12 Wynand Olivier, 11 Jaco van der Westhuyzen, 10 Jacques-Louis Potgieter, 9 Ruan Snyman, 8 Gerrit-Jan van Velze, 7 Dewald Potgieter, 6 Derick Kuün (c), 5 Fudge Mabeta, 4 Juandré Kruger, 3 Werner Kruger, 2 Bandise Maku, 1 Dean Greyling
Replacements: 16 Henry Bantjes, 17 Frik Kirsten, 18 Jaco Engels, 19 Wilhelm Steenkamp, 20 CJ Stander, 21 Dustin Jinka, 22 Stefan Watermeyer
Sharks: 15 Louis Ludik, 14 Odwa Ndungane, 13 Stefan Terblanche, 12 Andries Strauss, 11 Lwazi Mvovo, 10 Patrick Lambie, 9 Charl McLeod, 8 Keegan Daniel, 7 Willem Alberts, 6 Jacques Botes, 5 Alistair Hargreaves, 4 Steven Sykes, 3 Wiehahn Herbst, 2 Bismarck du Plessis, 1 Tendai Mtawarira
Replacements: 16 Craig Burden, 17 Eugene van Staden, 18 Michael Rhodes, 19 Skholiwe Ndlovu, 20 Rory Kockott, 21 Andre Pretorius, 22 Riaan Swanepoel
Referee: Shaun Veldsman