The Bulls weathered a spirited effort from the 'Tahs but managed to extend their unbeaten home streak against their visitors with a 30-19 victory.
Morné Steyn scored 25 of the home side's points courtesy of a try, conversion and five penalties.
While the Bulls did most of the playing, they could not find the fluency needed to dominate proceedings.
The home side went into the half-time break with a lead of 12-5. While the scoreline suggested something of a stalemate, it came down to the Bulls not capitalising on their opportunities and they should have led by a greater margin.
The tussle in the first half was decided on penalties, as neither of the two sides found easy access beyond the defensive lines.
Steyn allowed his side a nine-point cushion after a half hour of play, succeeding with three penalty conversions.
The Waratahs had little possession or room to manoeuvre but, nevertheless, grabbed the points on offer.
The hosts slowly chipped away at the Waratahs' morale with Steyn jogging back with three points in the bag after every penalty attempt.
The tourists, however, find their way over the whitewash six minutes from the break to keep the Loftus faithful on the edge of their seats.
The Bulls defence was found wanting as sensational Waratahs full-back Israel Folau beat both winger Akona Ndungane and fullback Ulrich Beyers to the line.
Waratahs scrum-half Brendan McKibbin failed to convert the try, while Steyn succeeded with another penalty on the half-time whistle, to give his team the seven-point lead.
The Australian franchise were given another scoring opportunity on a silver platter as a lapse in defence saw replacement prop Paddy Ryan score for the Waratahs.
The Bulls looked dangerous on attack until Folau intercepted a Steyn pass to advance to the other side of the field.
With the Bulls defence in disarray, McKibbin offloaded to Bernard Foley, who scored his side's second try of the evening to hand them a 19-15 lead with 20 minutes left in the match.
Replacement scrum-half Francois Hougaard, however, put his side back into the lead as he picked up a ball from the ruck, just metres from the line to score, with Steyn converting.
Steyn then wrapped up proceedings converting another penalty and scored a try at the death.
Tries: Hougaard, Steyn
Pen: Steyn 5
Tries: Folau, Ryan, Foley
Con: McKibbin 2
Bulls: 15 Jürgen Visser, 14 Akona Ndungane, 13 JJ Engelbrecht, 12 Jan Serfontein, 11 Bjorn Basson , 10 Morné Steyn, 9 Jano Vermaak, 8 Pierre Spies (c), 7 Arno Botha, 6 Dewald Potgieter, 5 Juandré Kruger, 4 Flip van der Merwe, 3 Werner Kruger, 2 Chiliboy Ralepelle, 1 Dean Greyling.
Replacements: 16 Willie Wepener, 17 Hencus van Wyk, 18 Paul Willemse, 19 Jacques Potgieter, 20 Francois Hougaard, 21 Louis Fouchè, 22 Lionel Mapoe.
Waratahs: 15 Israel Folau, 14 Cam Crawford, 13 Adam Ashley-Cooper, 12 Rob Horne, 11 Tom Kingston, 10 Bernard Foley, 9 Brendan McKibbin, 8 Wycliff Palu, 7 Michael Hooper, 6 Dave Dennis (c), 5 Kane Douglas, 4 Sitaleki Timani, 3 Sekope Kepu, 2 Tatafu Polota-Nau, 1 Benn Robinson.
Replacements: 16 Paddy Ryan, 17 John Ulugia, 18 Mitchell Chapman, 19 Pat McCutcheon, 20 Matt Lucas, 21 Ben Volavola, 22 Peter Betham.
Referee: Francisco Pastrana (Argentina)
Assistant referees: Sindile Mayende (South Africa), Ben Crouse (South Africa)
Television match official: Gerrie Coetzee (South Africa)