After four straight wins, a fifth looked to be on the cards for the visitors to Loftus Versfeld as they moved 13-6 in front at half-time.
But the Bulls stung the Durban-based Sharks in the second period to avenge their away defeat to the same opposition earlier in the campaign.
Willem Alberts crossed for an early try to hand the advantage to the Sharks, with Tim Swiel kicking the extras, before a penalty from Jacques-Louis Potgieter, followed soon afterwards by a drop goal from the same player, slashed the lead to just one point.
Frans Steyn booted a pair of long-range penalties before the interval to give the Sharks their seven-point interval advantage.
The opening 40 minutes was all about attrition, with flair in short supply and kicking order of the day.
Flanker Du Plessis got the ball in his hands in the 48th minute though and charged through a thicket of Sharks shirts to cross under the posts, with Potgieter adding the conversion to level up the contest at 13-13.
Five more minutes elapsed before Engelbrecht put the finishing touch to a Bulls break, and Potgieter again provided the additional two points.
Steyn had the Bulls wobbling when another pair of penalties in quick succession made it 20-19 with nine minutes to play, and when Potgieter went off injured the pressure was on for his replacement, Handre Pollard, who took over kicking duties.
But Pollard kept his cool with a penalty in the 79th minute, and the Bulls clung on for their third win in five outings in this season's competition.
- Sports & Recreation
- Jacques-Louis Potgieter