The Bulls hammered the Stormers in a weather-disrupted Super Rugby Unlocked encounter at Loftus Versfeld in Pretoria on Saturday night.
The hosts were leading 39-6 against a shell-shocked Cape outfit when play was suspended due to an approaching thunderstorm.
The players were unable to return, with the game abandoned and the Bulls awarded the victory - regulations stipulate that at least a first half be played for a result to stand.
AS IT HAPPENED | Bulls v Stormers
For the hosts, veteran flyhalf Morne Steyn and centre Stedman Gans were standouts, with the former keeping the Stormers on the back foot with his prodigious boot and Blitzboks star Gans dazzling with a brace of tries.
It was a tactical masterclass from Steyn, whose clever chips in behind kept the Stormers at sixes and sevens throughout, while the dangerous Bulls outside backs outclassed their opponents.
The Bulls also bossed the breakdown area and got the better of the visitors on the physical front.
There was little separating the two teams in the opening 20 minutes, with flyhalves Steyn and Damian Willemse each trading a brace of penalties.
The hosts broke the deadlock in the 23rd minute when hooker Johan Grobbelaar barged over after a dominant driving maul off a lineout. It came after the Bulls turned down a shot at goal.
A few minutes later the Bulls scored via centre Gans, whose try was set up by a great break off a scrum by scrumhalf Ivan van Zyl
Suddenly, the Bulls were 20-6 ahead on the half-hour mark and from there they never looked back.
In the 34th minute, Van Zyl rounded off another stunning try set up by a great break from Gans and two minutes later lock Ruan Nortje went over under the posts after Steyn had cheekily chipped and collected over the Stormers defence, before off-loading.
Steyn missed a long-range penalty attempt on the stroke of half-time, but the Bulls turned sides with a commanding 32-6 lead.
The Stormers started the second period with more intent, but their ill-discipline at the breakdown halted any sort of momentum.
Gans bagged his second try in the 50th minute when he followed up another clever chip in behind the Stormers defence by Steyn.
Steyn converted from in front to leave the Stormers in dire straits, trailing by 39-6 with 30 minutes left.
The visitors kept probing but continued to make errors in a largely forgettable night.
Play was then suspended in the 64th minute due to a threat of a pending thunderstorm, with referee AJ Jacobs saying the storm was "about seven minutes away".
The players never returned and the Bulls were declared 39-6 victors, grabbing a full haul of log points.
Gans was deservedly named man-of-the-match for his efforts.
Tries: Johan Grobbelaar, Stedman Gans (2), Ivan van Zyl, Ruan Nortje
Conversions: Morne Steyn (4)
Penalties: Steyn (2)
Penalties: Damian Willemse (2)
15 David Kriel, 14 Travis Ismaiel, 13 Stedman Gans, 12 Cornal Hendricks, 11 Kurt-Lee Arendse, 10 Morne Steyn, 9 Ivan van Zyl, 8 Duane Vermeulen (captain), 7 Elrigh Louw, 6 Marco van Staden, 5 Ruan Nortje, 4 Jason Jenkins, 3 Trevor Nyakane, 2 Johan Grobbelaar, 1 Jacques van Rooyen
Substitutes: 16 Joe van Zyl, 17 Gerhard Steenekamp, 18 Marcel van der Merwe, 19 Sintu Manjezi, 20 Nizaam Carr, 21 Embrose Papier, 22 Chris Smith, 23 Marco Jansen van Vuren
15 Warrick Gelant, 14 Edwill van der Merwe, 13 Dan du Plessis, 12 Rikus Pretorius, 11 Leolin Zas, 10 Damian Willemse, 9 Herschel Jantjies, 8 Juarno Augustus, 7 Ernst van Rhyn, 6 Jaco Coetzee, 5 JD Schickerling, 4 Salmaan Moerat, 3 Frans Malherbe, 2 Bongi Mbonambi, 1 Steven Kitshoff (captain)
Substitutes: 16 Scarra Ntubeni, 17 Leon Lyons, 18 Neethling Fouche, 19 Chris van Zyl, 20 Ben-Jason Dixon, 21 Marcel Theunissen, 22 Godlen Masimla, 23 Tim Swiel