The Sunwolves saw their first Super Rugby victory evade them as the Stormers fought back from 31-20 after half-time to win 44-31.
The Stormers had two periods of 10 minutes with a player in the sin bin but the Japanese side failed to make the extra mad count.
In a blistering start the Sunwolves touched down through Derek Carpenter six minutes in and with Rynhard Elstadt in the bin, they led 10-3.
A converted EW Vijoen try levelled the game for the Stormers on Elstadt's return, Vijoen finishing a fantastic move which had started in their own 22.
But the Sunwolves who have improved since their 83-17 demolition at the hands of the Hurricanes fought back with Shota Emi and LIaki Moli touching down for a 24-10 lead before the half hour.
The Stormers managed to narrow the margin before the break as Elstadt touched down after good work from the forwards. Rob du Preez converted and added a penalty as the South African side trailed 24-17 at half-time.
Carpenter kept the Sunwolves' noses in front with his second try which saw them lead 31-20, four minutes after the restart but as the game entered the final half hour, the Stormers took control.
Wilco Louw and Dewaldt Duvenage touched down to put the Stormers in front 34-31 on the hour, and even when Oliver Kebble saw yellow with 14 minutes remaining, the Sunwolves had nothing left in the tank.
Mbongeni Mbonami and Bjorn Basson rounded off the victory while Kaito Shigeno was in the sin in the final four minutes.