The home side showed plenty of attacking intent from the start and they were rewarded with two tries in the opening half by speedsters Sergeal Petersen and Seabelo Senatla (a blood replacement for Dillyn Lleyds).
Petersen went over in the right hand corner following some slick passing in a patient build-up, while fullback Damian Willemse provided the spark for Senatla to score under the poles.
Flyhalf and skipper Handre Pollard kept the Vodacom Bulls in touch with the home side via three penalty goals as the DHL Stormers went into the halftime break 14-9 ahead.
It was the visitors who scored first after three minutes of play in the second half when scrumhalf Ivan van Zyl went over for a converted try to hand them the lead for the first time at 16-14.
However, the Cape side soon regained the lead through a penalty by replacement flyhalf Josh Stander and then stretched their lead through a third try. Leyds claimed a clearance from Pollard and jinxed his way through a couple of defender before off-loading to Herchel Jantjies to score.
The visitors had the last laugh when Libbok scored their second try after the hooter, following a failed attempt by the home backs to run from their own line.
The result was a major boost for the DHL Stormers ahead of their away trip to the Jaguares next weekend while the Vodacom Bulls host the Waratahs in Pretoria.
DHL Stormers 24 (14) - Tries: Sergeal Petersen, Sebealo Senatla, Herchel Jantjies; Conversions: Jean-Luc du Plessis (2), Josh Stander; Penalty goal: Stander.
Vodacom Bulls 23 (9) - Tries: Ivan van Zyl, Manie Libbok; Conversions: Handre Pollard (2); Penalty goals: Pollard (3).