The Stormers overcame a woeful first-half performance to defeat the Lions 19-17 thanks to a winning try from replacement scrumhalf Herschel Jantjies in the dying seconds.
The two teams headed out in the first half dressed in their superhero kits, but as both were essentially red and blue it was hard to tell them apart, prompting the home side to change to their alternative black and yellow kit at half-time.
In what would soon become a pattern of their play, the Stormers conceded a couple of quick penalties to put the Lions on the front foot early on.
When Pieter-Steph du Toit was pinged for not rolling away at the ruck, the Lions set up an attacking line-out, allowing Kwagga Smith to smash through the defence and power over the line to put the visitors 7-0 up inside seven minutes.
The home side reduced the deficit to four points five minutes later when SP Marais decided to go for the posts after being awarded a penalty right in front.
But unfortunately for the Newlands faithful the Stormers continued to be ill-disciplined, and the Lions were able to set up another attacking line-out after one of their forwards was taken out a previous setpiece, and it would lead to their second try of the afternoon.
With another penalty advantage lying in wait, eighth man Warren Whiteley dotted down after a brief but sustained period of pressure, and Elton Jantjies quickly made it 14-3 after adding the extras.
Marais was able to have another shot at goal on 28 minutes to bring the Stormers back to within eight points, and the Lions might have been a little disappointed at not being further ahead at the break, so woeful and ill-disciplined were the hosts.
To make matters worse, front-rower Alistair Vermaak was yellow-carded just before the break for repeated side-entries at the ruck, reducing the home side to just 14 men.
But the Stormers must have had a bit of talking-to in the dressing room because they looked much better after half-time.
Marais had a chance to reduce the deficit further eight minutes in after an excellent counter-ruck earned his side a penalty, but his kick was just wide of the upright.
He was able to add that three-pointer a few minutes later, however, just as Vermaak made his way back onto the pitch, when the Lions found themselves penalised again.
One of the loudest cheers of the afternoon followed shortly after when Springbok lock Eben Etzebeth came on as a substitute.
Marais then brought the Stormers to within just two points after slotting his fourth penalty of the afternoon, but Jantjies soon had the visitors five points clear again after returning the favour.
A well-sold dummy nearly had Lions scrumhalf Nic Groom going all the way, but the Stormers defence just about managed to protect their line.
The hosts came close to levelling the scores late when replacement forward Jaco Coetzee rumbled towards the line, but the referee came to the Lions' rescue as he penalised them for obstruction.
They had another chance courtesy of an attacking line-out in the closing minutes, but the Lions managed to hold them up over the line after Etzebeth had taken the ball cleanly.
Marnus Schoeman was then sin-binned for repeated infringements two minutes before time, and it would end up costing the Lions dearly as the Stormers continued their relentless assault on the opposition tryline.
Finally, seven minutes into stoppage time, Herschel Jantjies, who had come onto the pitch to replace Jano Vermaak, spotted a gap and burst through the defence to score the try that brought the Stormers level.
SP Marais then sealed the win with his boot to complete the stunning comeback win for the Stormers and leave the Lions wondering where it all went wrong.
Stormers – Tries: Herschel Jantjies. Conversions: SP Marais. Penalties: SP Marais (4)
Lions – Tries: Kwagga Smith, Warren Whiteley. Conversions: Elton Jantjies (2). Penalties: Elton Jantjies.
Stormers – 15 Damian Willemse, 14 Sergeal Petersen, 13 Ruhan Nel, 12 Damian de Allende, 11 SP Marais, 10 Jean-Luc du Plessis, 9 Jano Vermaak, 8 Sikhumbuzo Notshe, 7 Pieter-Steph du Toit, 6 Siya Kolisi (c), 5 JD Schickerling, 4 Chris van Zyl, 3 Wilco Louw, 2 Bongi Mbonambi, 1 Ali Vermaak.
Replacements: 16 Scarra Ntubeni, 17 Corné Fourie, 18 Frans Malherbe, 19 Eben Etzebeth, 20 Jaco Coetzee, 21 Herschel Jantjies, 22 Josh Stander, 23 Dan du Plessis.
Lions – 15 Andries Coetzee, 14 Ruan Combrinck, 13 Lionel Mapoe, 12 Harold Vorster, 11 Courtnall Skosan, 10 Elton Jantjies 9 Nic Groom, 8 Warren Whiteley (c), 7 Kwagga Smith, 6 Marnus Schoeman, 5 Stephan Lewies, 4 Marvin Orie, 3 Carlu Sadie, 2 Malcolm Marx, 1 Dylan Smith.
Replacements: 16 Pieter Jansen, 17 Sti Sithole, 18 Jacobie Adriaanse, 19 Rhyno Herbst, 20 Hacjivah Dayimani, 21 Gianni Lombard, 22 Aphiwe Dyantyi, 23 Sylvian Mahuza.
Referee: Egon Seconds (South Africa)
Assistant referees: Divan Uys (South Africa), Aimee Barret-Theron (South Africa)
TMO: Christie du Preez (South Africa)