The men from Pretoria held a slender 11-8 lead at the break and led by a single point with minutes to go before conceding a costly penalty, which allowed the visitors to snatch victory from their grasp.
The defeat marked the Vodacom Bulls’ third loss in as many games, and as a result they are rooted at the foot of the South African Conference standings.
Referee Marius van der Westhuizen handed out four yellow cards during the encounter, with both teams receiving two a piece. Burger Odendaal and Andries Ferreira (Vodacom Bulls), Jonathan Ruru and Hoskins Sotutu (Blues) each received a yellow card.
Morné Steyn scored the Vodacom Bulls' first try of the season, while Jeandre Rudolph added a second try for the home side.
Steyn also landed three penalty goals while Manie Libbok (replacement flyhalf) slotted a conversion.
The Blues in turn scored three tries through Mark Telea, Tom Robinson and Stephen Perofeta, while Black was on target with one conversion and two penalty goals.
The match was played in a constant downpour, which made playing conditions difficult for both sides.
The Pretoria outfit appeared to have clinched it when Rudolph went over next to the poles. However, Black kicked the winning points after the home side’s backline drifted offside.
The Vodacom Bulls host the Jaguares next weekend.
Vodacom Bulls (11) 21 – Tries: Morné Steyn, Jeandre Rudolph. Conversion: Manie Libbok. Penalty Goals: Steyn (3).
Blues (8) 23 – Tries: Mark Telea, Tom Robinson, Stephen Perofeta. Conversion: Otere Black. Penalty Goals: Black (2).