The Stormers moved to the top of the Super Rugby table and held on to their unbeaten status when they beat the Bulls 13-23 at Loftus.
The Stormers had not beaten the Bulls since 2006 but became the second team in two years to beat the Bulls at Loftus.
The match looked like it would be decided by the boot just as the Stormers last two matches have been but both teams scored a try a piece with former Bulls singer Bryan Habana scoring the Stormers first try in three matches.
The Bulls indiscipline cost them dearly as Peter Grant kicked six penalties to keep the Stormers in control throughout the match.
The Stormers defence was again outstanding and kept the Bulls from forming any kind of momentum in the match.
Grant slotted six out of his 10 attempts while the Bulls' Morne Steyn was only successful in three of his six chances.
The visitors started positively and, after a holding out during the fiercely contested opening stages of the match, had six points to show for their efforts.
In both instances Grant made no mistake with the penalty goals while the Bulls struggled to adapt to referee Keith Brown's interpretation of the breakdown law.
The breakdowns would remain an area where the defending champions simply could not find their feet during the contest.
What must have further frustrated the home side is that in their first visit to the Stormers 22, a great attacking opportunity was squandered when fullback Zane Kirchner lost the ball in contact to hand hard earned possession back to the visitors.
Instead of creating chances, the Bulls had to rely on their defence to keep the ever attacking Stormers at bay.
As the match started to heat up, the Cape Town side started growing in confidence and will consider themselves unfortunate not to have extended the lead they built-up in the opening quarter of the game.
Eventually the Bulls managed to open their account thanks to a penalty by flyhalf Morne Steyn when the visitors placed themselves under pressure with a poor lineout throw.
Grant then slotted his third penalty - with the Bulls at fault at the breakdown again - and soon thereafter put his fourth through the posts when Bakkies Botha barged his way into isolation with ball in hand.
Botha was penalised for holding on with credit going to Stormers flank Francois Louw for his awareness in the tackle situation.
In a drastic turn of events the Bulls managed to score the first try of the match when wing Bjorn Basson was put into space.
The former Griquas speedster raced past a couple of defenders before chipping the opposition backline and capitalising on a rookie error by Springbok wing Bryan Habana.
The try blew some life back into the game as the sides headed into the tunnel with only two points separating them on the scoreboard.
While the Stormers started the first half well, the Bulls did the same at the beginning of the second but had failed to convert.
Steyn, who is normally on the money, missed two kicks and this played right into the opposition's hand.
The Stormers didn't make the same errors.
Instead they scored their only try of the match when Habana showed his class to snatch the ball from under Basson's eyes to dive over in the corner.
Final Score Bulls 13 Stormers 23
Tries - D Basson.
Pen - M Steyn 2
Con - M Steyn
Tries - B Habana
Pen - P. Grant 6
Referee: Keith Brown
Assistant Ref 1:Glen Jackson
Assistant Ref 2:Phillip Bosch
Bulls :Zane Kirchner , Gerhard van den Heever, Jaco Pretorius, Wynand Olivier , Bjorn Basson, Morne Steyn, Fourie du Preez , Pierre Spies, Dewald Potgieter, Deon Stegmann , Victor Matfield , Bakkies Botha , Werner Kruger , Chiliboy Ralepelle , Gurthro Steenkamp.
Replacements: Gary Botha , Rossouw de Klerk, Flip van der Merwe , Danie Rossouw , Derick KuŁn , Francois Hougaard , Francois Brummer.
Stormers: Gio Aplon, Danie Poolman, Jaque Fourie, Jean de Villiers (capt), Bryan Habana, Peter Grant, Dewaldt Duvenhage, Duane Vermeulen, Francois Louw, Pieter Louw, Andries Bekker, Rynardt Elstadt, Brok Harris, Deon Fourie, Brok Harris.
Replacements: Ethienne Reyneke, CJ Van de Linde, De Kock Steenkamp, Nick Koster, Ricky Januarie, Gary van Aswegen, Juan de Jongh.