Cape Town - The Stormers survived a Reds onslaught early in the second half to emerge 40-22 victors in a Super Rugby clash at Newlands on Saturday.
In the end it seemed comfortable, but it was anything but after the Reds had overturned a 17-10 half-time deficit to surge into the lead.
The Stormers were made to fight their way back, which they did.
Coach Robbie Fleck's side received a blow before kick-off with the news that captain Frans Malherbe had dropped out of the starting line-up with what was thought to be a sickness.
His place in the front row was taken by Vincent Koch, while Damian de Allende took on the captaincy.
The Reds were first on the board through a Jake McIntyre penalty, but it was the Stormers who looked more threatening.
The hosts had their first try just 10 minutes in when Kobus van Wyk went over as the Stormers had the extra numbers wide left.
McIntyre had rushed forward for the interception, but when he didn't get there the Stormers wing had the line at his mercy.
Leolin Zas was next in for the Stormers as he darted over from close range following a sustained period of attack.
That put the Stormers 14-3 up after 18 minutes, and all was rosy in Cape Town.
But, in general, the first half was characterised by too many errors from both sides as the match struggled to get going.
On 22 minutes one of those handling errors hurt the Stormers badly after Cheslin Kolbe dropped a routine pass on his own 5m line.
The Reds hit back from the resulting scrum with a well-worked backline move from the base of the set piece before Liam Gill crashed over on the second phase.
A Du Plessis penalty followed, and the Stormers went into the break 17-10 up.
The home crowd would have wanted more quality displayed in the second half, but few would have expected it to come from the Reds in the way it did.
The visitors rocked the South African group leaders with two tries in the opening 10 minutes of the second period to take the lead.
First Karmichael Hunt took advantage after De Allende had a kick charged down, and then Eto Nabuli finished after monstrous centre Samu Kerevi had made the initial break.
The Stormers, all of a sudden, were 22-17 down.
They responded well and had the lead back just a couple of minutes later when scrumhalf Nic Groom, in his 50th Super Rugby match, twisted and turned his way over after another extended Stormers attack.
Du Plessis then made way for debutant Brandon Thomson with 25 minutes to go as the Stormers looked to build on their 24-22 lead.
Thomson kicked a pressure penalty with 15 minutes remaining to make it 27-22 before he slotted a more routine shot to give his side a 30-22 lead going into the last 10.
One more Thomson penalty made it 33-22, and the Stormers had the finish they desired when Koch barged over to give them their fourth try and a 40-22 win.
Stormers 40 (22)
Tries: Kobus van Wyk, Leolin Zas, Nic Groom, Vincent Koch
Conversions: Jean-Luc du Plessis (3), Brandon Thomson
Penalties: Du Plessis, Brandon Thomson (3)
Reds 22 (10)
Try: Liam Gill, Karmichael Hunt, Eto Nabuli
Conversion: Jake McIntyre (2)
15 Cheslin Kolbe, 14 Kobus van Wyk, 13 Johnny Kotze, 12 Damian de Allende (captain), 11 Leolin Zas, 10 Jean-Luc du Plessis, 9 Nic Groom, 8 Nizaam Carr, 7 Siya Kolisi, 6 Sikhumbuzo Notshe, 5 Pieter-Steph du Toit, 4 Rynhardt Elstadt, 3 Vincent Koch, 2 Bongi Mbonambi, 1 Oli Kebble
Substitutes: 16 Mike Willemse, 17 JC Janse van Rensburg, 18 Jean-Pierre Smith, 19 JD Schickerling, 20 Schalk Burger, 21 Louis Schreuder, 22 Huw Jones, 23 Brandon Thomson
15 Karmichael Hunt, 14 Junior Laloifi, 13 Samu Kerevi, 12 Anthony Fainga'a, 11 Eto Nabuli, 10 Jake McIntyre, 9 Nick Frisby, 8 Curtis Browning, 7 Liam Gill, 6 Hendrik Tui, 5 Rob Simmons, 4 Ben Matwijow, 3 Greg Holmes, 2 Andrew Ready, 1 James Slipper (captain)
Substitutes: 16 Saia Fainga'a, 17 Sef Fa'agase, 18 Sam Talakai, 19 Cadeyrn Neville, 20 Michael Gunn, 21 James Tuttle, 22 Duncan Paia’aua, 23 Ayumu Goromaru.