The Bulls retained their unbeaten home record after grinding out a 17-13 victory over the Stormers in Pretoria on Saturday.
The result was sweet revenge for the hosts, who suffered a humiliating defeat to the Stormers in their corresponding fixture in Cape Town in Round One.
Both sides crossed for a try but it was a late drop goal from replacement fly-half Tian Schoeman which secured victory for the Bulls and the result means that these two sides are now in joint top spot on the African Conference One table on 32 points from 12 matches.
The Bulls will occupy the first place in the standings though though as they have won one match more than their traditional rivals.
The home side's forwards laid the groundwork to their victory and their dominance in the tight phases set up a superb platform although their backs didn't make full use of the opportunities presented to them.
The Stormers often shone individually but seldom showed enough control when it mattered most and they committed basic errors which undermined their efforts.
The visitors made a bright start and after showing their attacking enterprise from the kick off, in which they took the ball through 10 phases, Jean-Luc du Plessis opened the scoring via a penalty as early as the second minute after the home side were penalised for straying offside on defence.
That lead was short-lived though as Francois Brummer drew the home side level with a penalty of his own shortly afterwards. The two pivots traded further penalties, which meant the sides were level at 6-6 by the 20th minute.
The rest of the half was a slugfest as both sides tried to take control of proceedings but they couldn't add to their points tally abd they traded sides just those two penalties apiece to show for their endeavours.
Both sides continued to play the game at a high intensity after the break and seven minutes into the half it was the Bulls who were rewarded.
Piet van Zyl got his name onto the scoresheet after a perfectly weighted kick from Jan Serfontein caused confusion in the Stormers' 22. SP Marais did well to gather the ball from under the noses of two defenders before offloading to Van Zyl, who got over for the opening try.
Brummer failed to convert, but extended his side's lead, five minutes later, when he slotted a penalty goal over from 40 metres out. The Stormers upped the ante on attack and spent the next 10 minutes camped inside the Bulls' 22 but they were met by a solid defensive effort from the home side.
The dam wall eventually burst in the 68th minute when Damian de Allende burst through a gap in the Bulls defence before dotting down under the posts and after Du Plessis converted it was game on with the Bulls holding a slender one-point lead.
The game was on a knife edge and although the visitors gave their all in a bid to secure victory, they committed too many handling errors.
That proved costly as Schoeman secured the result when he landed his drop goal five minutes from the end.
Try: Van Zyl
Pens: Brummer 3
Drop goal: Schoeman
Try: De Allende
Con: Du Plessis
Pens: Du Plessis 2
Bulls: 15 SP Marais, 14 Jamba Ulengo, 13 Jesse Kriel, 12 Jan Serfontein, 11 Travis Ismaiel, 10 Francois Brummer, 9 Piet van Zyl, 8 Arno Botha, 7 Jannes Kirsten, 6 Lappies Labuschagne, 5 RG Snyman, 4 Jason Jenkins, 3 Marcel van der Merwe, 2 Adriaan Strauss, 1 Lizo Gqoboka
Replacements: 16 Jaco Visagie, 17 Trevor Nyakane, 18 Pierre Schoeman, 19 Grant Hattingh, 20 Deon Stegmann, 21 Rudy Paige, 22 Tian Schoeman, 23 Dries Swanepoel
Stormers: 15 Cheslin Kolbe, 14 Kobus van Wyk, 13 Johnny Kotze, 12 Damian de Allende, 11 Leolin Zas, 10 Jean-Luc du Plessis, 9 Nic Groom, 8 Schalk Burger, 7 Siya Kolisi, 6 Nizaam Carr, 5 Pieter-Steph du Toit, 4 Eben Etzebeth, 3 Frans Malherbe (c), 2 Bongi Mbonambi, 1 Oli Kebble
Replacements: 16 Scarra Ntubeni, 17 Alistair Vermaak, 18 Vincent Koch, 19 Rynhardt Elstadt, 20 Sikhumbuzo Notshe, 21 Louis Schreuder, 22 Brandon Thomson, 23 Huw Jones
Referee: Ben O’Keeffe
Assistant Referees: Glen Jackson, AJ Jacobs
TMO: Johan Greeff