The result put the Cape Town-based side three points clear of the Lions, who cannot catch them despite being their nearest rivals as they have a bye in the last regular season round.
Nic Groom, Dillyn Lleyds and Nizaam Carr scored tries for the hosts while Faf de Klerk, Schalk van der Merwe and Malcolm Marx touched down for the Lions.
Groom opened the scoring with the first try of the match in the sixth minute which Demetri Catrakilis was unable to convert.
The Stormers fly-half left the field shortly after due to injury and then failed a concussion test meaning his game was over.
De Klerk levelled for the visitors 10 minutes later after sniping over in the corner, and a successful conversion by Elton Jantjies edged the Lions in front.
The Stormers moved back in front just before the half hour mark when the ball was moved through hands and found Leyds on the wing, who dotted down. Substitute Kurt Coleman took the conversion but missed.
The Lions were back on level terms before the break, though, when the television match official decided Van der Merwe had successfully touched the ball down from a drive over the line.
Jantjies sent the conversion wide, as did Coleman from a penalty attempt just before the half-time hooter to leave the scores locked at 12-12 at the break.
Carr raced in for the Stormers' third try of the match in the 52nd minute with Coleman this time nailing the conversion to put the hosts clear.
The Lions rallied, though, and wave after wave of attack tested the hosts' resilience, and they finally buckled as prop Steven Kitshoff was shown a yellow card.
The visitors kept up the pressure and the result was Marx driving over the line for a third try, with Marnitz Boshoff slotting the conversion with four minutes remaining.
Harold Vorster sniped down the wing in the final play of the game for the Lions but was caught, and despite their desire to continue attacking, the visitors lost the ball and the whistle was blown with neither side able to claim victory.