The Stormers were made to work hard to earn a bonus point 44-21 against the Dragons, but they got the job done in Friday's United Rugby Championship game.
Angelo Davids and substitute Sacha Feinberg-Mgomezulu both scored two tries for the fifth-placed visitors, Evan Roos also scored a touchdown and Manie Livbok scored all five tries and added three penalties. Ta.
Hari Keddie and Aaron Wainwright played for the Dragons, with Angus O'Brien scoring one goal and Will Reid converting three penalties.
Click here for scorers
The Dragons were looking for their fourth URC win of the season to move out of the bottom two, but strong bursts from Wainwright and Keddie put them on the back foot and they were rewarded with a lead penalty. They took an early lead.
The Stormers continued to struggle to gain a foothold in the match, losing a further 10 meters on a counterattack with a scrum penalty, giving the hosts an attacking lineout from which Keddie forced his way through.
Yet another scrum penalty saw Reid take a well-judged kick to secure a five-metre lineout. After the Stormers conceded two more penalties in quick succession, Reid was able to extend his team's lead to 11-0 with a simple kick.
A scrum reset had disrupted the flow to the match, but another penalty awarded in the area in the 31st minute finally got the Stormers on the scoreboard, with Livbok winning the penalty.
Three minutes later, the Stormers awoke from their slumber and scored a stunning try.
Reid dropped an up-and-under and was made to pay for his mistake when Warwick Geraint's pinpoint cross-field kick was recovered by Davids and showed too much pace for the Dragons' cover defense.
Edinburgh get the job done against struggling Zebre Parma to move into 6th place
Livbok scored, but his team still led 11-10 at the interval.
Six minutes into the second half, Libbok's second penalty gave the away team the lead for the first time, but that lead was quickly nullified by Reed's third successful kick.
Another scrum penalty put the Livboks on target again, but Wainwright crashed in from close range and O'Brien's conversion gave the Dragons a 21-16 lead going into the final quarter with a chance for an upset.
However, the Stormers pressed on and their relentless pressure ended in the 65th minute when Davids grabbed his second try of the match and the Dragons dropped prop Rodrigo MartÃnez into the sin bin for repeated scrum violations.
The Stormers made the most of this advantage and outscored the hosts in the match. After Ruth scored a driving lineout, Feinberg-Mgomezulu added two tries in quick succession to add to the spark.
team
dragon: 15 Jordan Williams, 14 Rio Dyer, 13 Steph Hughes (c), 12 Aneurin Owen, 11 Chris Hollis, 10 Will Reid, 9 Dane Blacker, 8 Aaron Wainwright, 7 Hari Keddie, 6 Sean Lonsdale, 5 George Knott, 4 Matthew Screech, 3 Chris Coleman, 2 Elliot Dee, 1 Rhodri Jones
Replacement: 16 Brodie Coghlan, 17 Rodrigo Martinez, 18 Dmitri Alhip, 19 James Benjamin, 20 Thain Basham, 21 Morgan Lloyd, 22 Angus O'Brien, 23 Sio Tomkinson
Stormers: 15 Warrick Guerin, 14 Suleiman Hartzenberg, 13 Wandisile Simelane, 12 Dan du Plessis, 11 Angelo Davids, 10 Manny Rybok, 9 Herschel Jantjes, 8 Evan Roos, 7 Ben Jason Dixon, 6 Willy Engelbrecht, 5 Ruben van Heerden, 4 Salman Moerat (c), 3 Frans Malherb, 2 Joseph Deweba, 1 Suti Sithole
Replacement: 16 Andre-Hugo Venter, 17 Brock Harris, 18 Niesling Fouche, 19 Adre Smith, 20 Hajiba Deimani, 21 Stefan Ungerer, 22 Jean-Luc du Plessis, 23 Sasha Feinberg-Mgomezulu
Referee: Chris Buzby (IRFU)
Assistant referee: Michael English (WRU), Gareth Newman (WRU)
TMO: Ollie Hodges (IRFU)
read more: URC: Springbok and Ireland star players in attendance, final eight match in full swing