A try each from Barrett brothers Beauden and Jordie and a brace for Hurricanes winger Wes Goosen were enough to snuff out Stormers' hopes of a first win in nine matches outside South Africa.
The tourists led a tight contest 21-15 at halftime and by a point with 10 minutes remaining but they were unable to hang on to hand the Hurricanes a first home defeat against South African opposition for nearly six years.
A rampaging run through the middle of the Stormers pack from flanker Ardie Savea after 70 minutes put the visitors on the back foot and All Blacks flyhalf Beauden Barratt wriggled his way through the defensive line to score the winning try.
Skipper Siya Kolisi, hooker Bongi Mbonambi and loose forward Jaco Coetzee all crossed for the Cape Town-based Stormers, who started their season with a 40-3 loss to the Bulls but had won their three subsequent matches.