They will now travel to New Zealand to play the Chiefs in the final next week.
The Stormers started well in the tight exchanges, but at scrum time the Sharks had the upper hand.
The two flyhalves, Peter Grant (Stormers) and Frederic Michalak (Sharks) kept the scoreboard ticking over early on as the two sets of defences held their lines intact.
Grant was on target with a penalty and Michalak scored a penalty and a drop goal to give his side a 6-3 lead.
Just on the half-hour mark the Stormers came to light with several attacking moves sprung from around the halfway line but their most penetrative sortie was thwarted on the Sharks' tryline when fullback Joe Pietersen failed to ground the ball.
Most of the Sharks' territorial gains came via upfield kicks which were mostly well fielded by the Stormers, but they suffered a lapse just ahead of the half-time break and right wing Louis Ludik snapped up the bobbling ball before he ran in for the first try of the match. Michalak added the conversion to open up a 10-point lead.
The hosts looked for a strong first-half finish but their pressure merely gave them a penalty opportunity which Grant goaled a minute before half-time (13-6).
Both teams returned from the break with patches of promising play but with the Stormers looking the more likely to make a breakthrough. However, the occasion seemed to unnerve them and numerous errors crept into their game.
Grant and Michalak each struck with a penalty to retain the seven-point difference after 16 minutes of second-half play (16-9).
The Stormers suffered a huge setback just past the hour mark when the in-from JP Pietersen sliced through the Stormers' backline and ran in unchallenged from 20 metres out for the Sharks' second converted try.
With 20 minutes left the home side were faced with a challenge of scoring at least 14 points to save the match.
They wasted no time with a converted try by winger Gio Aplon three minutes later to reduce the margin to seven points.
They were briefly held up as they absorbed a short spell of pressure from the Sharks before they were back in the opposition's 22-metre area where Grant struck with a 73rd minute penalty (23-19).
Michalak, however, hammered the final nail in the Stormers' coffin with his second drop goal to restore what proved to be a match-winning seven-point scoreline difference.– Sapa