Damian Willemse scored an early intercept try as the Stormers claimed a narrow 16-11 Super Rugby victory over an ill-disciplined Sharks side at King's Park on Saturday.
It was the first defeat of the season for the fancied Sharks, while the Stormers celebrated their first away win in 10 attempts, making it back-to-back victories to erase the memory of their opening round 40-3 humiliation by the Bulls.
Wing SP Marais also kicked three penalties for the visitors, while the only try scored by the error-prone hosts came from centre Lukhanyo Am.
The Sharks had looked the best of the South African sides in the opening two weeks of the season, but had a dismal first half in which they conceded the intercept try, gave away numerous penalties and had two players sent to the sin-bin.
"The opening round loss (to the Bulls) was maybe a blessing in disguise because we had to pull ourselves together after that," Stormers captain Siya Kolisi admitted.
"We have trust in ourselves and our tactics. We haven't changed a single thing since the Bulls result, we have just made sure we execute better."
The Stormers showed the greater application in slippery conditions and were ahead inside three minutes when Willemse raced clear after reading a quick pass from Andre Esterhuizen.
The Cape Town-based side camped in Sharks territory for much of the opening period and added two penalties through Marais to lead 13-3 at halftime.
Repeated infringements saw Am and hooker Akker van der Merwe sent to the sin-bin, although the Sharks conceded just three points in those 20 minutes when they were depleted.
The home side were still down to 14 men when Am crossed for their only score at the start of the second half, a fine running line seeing the Springbok centre pick a hole in the Stormers defence.
Sharks flyhalf Robert du Preez missed the conversion but added a penalty on the 50-minute mark to reduce the deficit, but after a period of pressure, Marais pushed the Stormers five points in front.
"I'm disappointed in our discpiline and game management. I don't think you can win too many games with two yellow cards and the amount of penalties we conceded," Sharks captain Louis Schreuder said.
"Credit to the Stormers, they pinned us in our own half and we didn't exit well. We frustrated ourselves. There is a lot of improvement needed."