The Stormers made a winning return to Super Rugby action when they beat the Cheetahs 40-34 in a hard-fought encounter in Bloemfontein.
As the scoreline suggests, this was a thrilling affair but both sides' discipline let them down and there were two red cards and three yellow cards issued in this match.
The Stormers eventually got the rub of the green, and outscored their hosts six tries to four with Cheslin Kolbe leading the way with a 23-point haul thanks to a hat-trick of tries and four conversions for the men from the Cape.
The visitors held the upperhand during the opening half and led 26-17 at the interval courtesy of a brace of tries from Kolbe and further five-pointers from Damian Willemse and Seabelo Senatla, with Reniel Hugo and Elandré Huggett crossing the whitewash for the Cheetahs during this period.
The Stormers dominated from the kick off and opened the scoring as early as the second minute - Kolbe rounding off a flowing move after Pieter-Steph du Toit, Nizaam Carr and Juan de Jongh all played prominent roles in the build-up.
The Cheetahs did not take that lying down and after an extended period camped inside the Stormers' 22, Hugo opened the home side's account when he got over for their opening try from close quarters in the eighth minute.
Niel Marais added the extras and gave his side the lead via a penalty in the 20th minute.
Two minutes later, the visitors struck back in style when Willemse made a telling break and traded passes with Rynardt Elstadt before the rookie fly-half dived over next to the posts.
In the 24th minute, the Cheetahs suffered a setback when Marais was yellow carded for slowing the ball down at a ruck close to his try-line.
The Stormers extended their lead soon afterwards when Kolbe found himself in space down the right-hand touchline and outpaced the cover defence before crossing for his second try.
Shortly afterwards, the visitors notched their fourth try when Senatla had an easy run-in after intercepting a wayward pass from Clayton Blommetjies inside the Cheetahs' 22.
Two minutes before half-time, the visitors were reduced to 14 men when Elstadt was sent to the sin bin for a cynical foul on defence, deep inside his 22 and after kicking for touch, the Cheetahs were rewarded on the stroke of half-time when Huggett crashed over from the lineout drive.
The Cheetahs drew first blood in the second half courtesy of a Marais penalty which meant the Stormers led 26-20 by the 50th minute but the visitors extended their lead shortly afterwards when Kolbe crossed for his second try, after Du Toit and Frans Malherbe laid the groundwork in the build-up.
But the topsy-turvy nature of this match continued when the Du Toit was also yellow carded in the 55th minute for a high tackle on Francois Venter and the home side responded immediately when Clinton Swart showed great determination and leg-drive before crossing for his side's third try.
And on the hour-mark, Venter tore the Stormers defence to shreds with a 50 metre run, from inside his own half, before offloading to Raymond Rhule, who got over for an easy try.
Marais' slotted the conversion which meant the hosts led 34-33 with less than 20 minutes left on the clock but there was still plenty of drama to follow.
The Stormers upped the ante as they tried to regain the lead and were rewarded in the 74th minute when Sikhumbuzo Notshe ran onto a pass from Bongi Mbonambi before diving over for the matchw-inning try in the left-hand corner.
The closing stages was a frantic affair as the Cheetahs tried to strike back but the match was soured when, just before full-time, referee Jaco van Heerden issued red cards to Elstadt and Henco Venter for landing blows in an off-the-ball scuffle.
Tries: Hugo, Huggett, Swart, Rhule
Cons: N Marais 4
Pens: N Marais 2
Yellow Card: N Marais
Red Card: H Venter
Tries: Kolbe 3, Willemse, Senatla, Notshe
Cons: Marais, Kolbe 4
Yellow Card: Elstadt, Du Toit
Red Card: Elstadt
Cheetahs: 15 Clayton Blommetjies, 14 Sergeal Petersen, 13 Francois Venter, 12 Clinton Swart, 11 Raymond Rhule, 10 Niel Marais, 9 Tian Meyer, 8 Niell Jordaan, 7 Uzair Cassiem, 6 Henco Venter, 5 Reniel Hugo, 4 Armandt Koster, 3 Johan Coetzee, 2 Elandré Huggett, 1 Ox Nche
Replacements: 16 Jo Dweba, 17 Charles Marais, 18 Tom Botha, 19 Justin Basson, 20 Chris Dry, 21 Fred Zeilinga, 22 Ruan van Rensburg, 23 William Small-Smith
Stormers: 15 SP Marais, 14 Cheslin Kolbe, 13 Juan de Jongh, 12 Shaun Treeby, 11 Dillyn Leyds, 10 Damian Willemse, 9 Jano Vermaak, 8 Nizaam Carr, 7 Kobus van Dyk, 6 Rynardt Elstadt, 5 Pieter-Steph du Toit, 4 Chris van Zyl, 3 Frans Malherbe (c), 2 Ramone Samuels, 1 JC Janse van Rensburg
Replacements: 16 Bongi Mbonambi, 17 Steven Kitshoff, 18 Wilco Louw, 19 JD Schickerling, 20 Sikhumbuzo Notshe, 21 Justin Phillips, 22 EW Viljoen, 23 Seabelo Senatla
Referee: Jaco van Heerden (South Africa)
Assistant Referees: AJ Jacobs (South Africa), Cwengile Jadezweni (South Africa)
TMO: Marius Jonker (South Africa)