Two tries apiece from wings Angelo Davids and Sacha Feinberg-Mngomezulu and 19 points from South Africa fly-half Manie Libbok sealed the win with Evan Roos also crossing.
Dragons had dominated the opening exchanges and built up an early 11-point lead with a try from Harri Keddie and two Will Reed penalties.
Outstanding Wales number eight Aaron Wainwright also crossed, but Stormers’ class told in the final quarter with four tries as they took advantage of home prop Rodrigo Martinez being shown a yellow card.
Stormers have consolidated their fifth place in the URC table, with the top eight sides qualifying for the play-offs in June.
This was the final home game for Dragons of the season and they stay 15th in the league.
Their final two fixtures are away at Ospreys on Saturday, 18 May before Welsh rugby’s ‘Judgement Day’ meeting with Scarlets at Cardiff City Stadium on Saturday, 1 June.
Dragons have had a busy couple of weeks on and off the field, with chair David Buttress announcing he is stepping down and Rhys Blumberg appointed as chief executive.
They have also finally appointed a defence coach in former Ospreys and New Zealand number eight Filo Tiatia, while there has been a busy recruitment drive for next season.
Wales forward Shane Lewis-Hughes, Tonga number eight Solomone Funaki, Australian lock Steve Cumming and Aussie centre Harry Wilson have agreed moves.
Ex-Stormers wing Chris Hollis made his Dragons debut against his former club after joining the Welsh region on trial.
Stormers, who won the URC in 2022 and were runners-up last season, included Springboks World Cup winners Frans Malherbe and Libbok in their ranks.
Dragons’ early attacks were rewarded with a Reed penalty, a lead increased as flanker Keddie was driven over from a line-out before Reed again hit the target to take the lead to 11 points.
After Dragons captain Steff Hughes had a try disallowed, Stormers responded with a Libbok penalty and took advantage of their aerial battle dominance with an opportunistic try.