It's all over! The referee has blown their whistle to end the game.
Rekeiti Ma'asi-White (Sale Sharks) is shown a yellow card
Manie Libbok has kicked a conversion.
Andre-Hugo Venter scores the try from close range.
That's a great try assist by Paul de Wet.
A gap opened in the defence and Paul de Wet took full advantage.
A gap opened in the defence and Josh Beaumont took full advantage.
The Stormers supporters go wild as Manie Libbok successfully kicks the conversion.
Stormers are only a few metres out, surely they must score! And they do with Paul de Wet touching down.
Spellbinding play by Evan Roos is finished off with a try.
Nye Thomas comes on for Sale Sharks.
Gus Warr leaves the field.
The defensive line has been broken as Wandisile Simelane goes through the gap.
Paul de Wet comes on for Stormers.
Stefan Ungerer leaves the field.
Jean-Luc du Plessis comes on for Stormers.
Jonathan Roche leaves the field.
Paul De Villiers comes on for Stormers.
Deon Fourie leaves the field.
What a run here by Warrick Gelant as they get over the gainline!
Manie Libbok has hooked the conversion to the left of the posts.
A penetrating move by Stormers results in a try for Warrick Gelant.
What a run here by Warrick Gelant as they get over the gainline!
That's a great try assist by Suleiman Hartzenberg.
Ruben van Heerden comes on.
Salmaan Moerat comes off.
Rekeiti Ma'asi-White comes on.
Ernst van Rhyn comes off.
Andre-Hugo Venter comes on.
Neethling Fouche comes on.
Frans Malherbe comes off.
Luke Cowan-Dickie comes off.
Joe Carpenter (Sale Sharks) is shown a yellow card
What a run here by Marcel Theunissen as they get over the gainline!
Stormers decide to make a substitution, with Manie Libbok getting some game time.
Stormers decide to make a substitution, with Jean-Luc du Plessis being replaced.
Sale Sharks decide to make a substitution, with Ben Curry getting some game time.
Sale Sharks decide to make a substitution, with Tom Curry being replaced.
Sale Sharks decide to make a substitution, with Josh Beaumont getting some game time.
Sale Sharks decide to make a substitution, with Hyron Andrews being replaced.
Robert du Preez (Sale Sharks) is shown a yellow card
Suleiman Hartzenberg makes the break as the defence re-enacts the parting of the red sea.
Stormers decide to make a substitution, with Evan Roos getting some game time.
Stormers decide to make a substitution, with Dave Ewers being replaced.
Sale Sharks decide to make a substitution, with Asher Opoku-Fordjour getting some game time.
Sale Sharks decide to make a substitution, with WillGriff John being replaced.
Stormers decide to make a substitution, with Alistair Vermaak getting some game time.
Stormers decide to make a substitution, with Sti Sithole being replaced.
Stormers decide to make a substitution, with Ben Loader getting some game time.
Stormers decide to make a substitution, with Neethling Fouche being replaced.
Jean-Luc du Plessis adds the two points for Stormers.
The defence are desperately trying to hold out here but it was to no avail as Sti Sithole dots the ball down from close range.
Stormers make a substitution with Jean-Luc du Plessis coming on.
Stormers make a substitution with Manie Libbok coming off.
Fabulous play by Sale Sharks has led to Hyron Andrews being able to wriggle through a gap.
The second half kicks off.
The half-time whistle blows and both teams head for the dressing rooms.
Fabulous play by Sale Sharks has led to Robert du Preez being able to wriggle through a gap.
Stormers sub Neethling Fouche comes onto the field.
Ben Loader departs for Stormers.
Frans Malherbe (Stormers) is shown a yellow card
Manie Libbok makes no mistake with that conversion attempt.
Brilliant skill shown there by Manie Libbok as they go over the white wash for a try.
This is dangerous for the defence as Manie Libbok bursts through to advance the Stormers attack.
Stefan Ungerer played a key part in that try.
Manie Libbok makes no mistake with that conversion attempt.
A wonderful passing move by Stormers is finished off by JD Schickerling
That's a great try assist by Wandisile Simelane.
This is dangerous for the defence as Wandisile Simelane bursts through to advance the Stormers attack.
This is dangerous for the defence as Stefan Ungerer bursts through to advance the Stormers attack.
The defensive line has been broken as Warrick Gelant goes through the gap.
The defensive line has been broken as Suleiman Hartzenberg goes through the gap.
We are underway as the referee blows their whistle.