Ulster's defensive resolve was broken late on in the contest in Cape Town through Evans Roos, with Mannie Libbock's two penalties making the difference in the scoreboard.
The match was the second of the province's tour in South Africa, after last week's defeat to Hollywoodbets Sharks in Durban.
The match was hyped up in Cape Town, as Stormers fans welcomed the return of their former captain, and Springbok prop, Steven Kitshoff.
There was a proud moment for tighthead prop, Tom O'Toole, who led the side out on his 100th cap for his province.
Ulster stated off with ferocious intent, with number eight, Nick Timoney, getting on the scoresheet early doors after a wonderful pass from Nathan Doak, who was impressing in his start at fly-half. Timoney ran a fantastic line in the opposition 22 and sprinted clear. Cooney added the extras.
Ulster had shown plenty of good hands in the early stages, as they looked to build on their training week in South Africa.
It was a difficult night for the kickers, with Manie Libbock missing two back-to-back penalties, and John Cooney having the same fate- pinging a pen against the post and going wide from a long range pen.
Ulster went into the break knowing that they had been the superior side in the contest and had showed good work on both sides of the ball.
In the second half, Ulster had to weather the storm, as the home side came out hungry to get going in the match.
The Stormers were showing their attacking threat with a number of kicks and line breaks to try dent the Ulster rearguard. One attack saw them go coast to coast and it was down to some superb defending from John Cooney and then Nathan Doak, that made Evan Roos short of the line.
The Stormers had a penalty from the resulting scrum in front of Ulster's posts, as their fresh front-row piled on the pressure. Libbock took the points on offer and got the home side on the scorebaord.
With four points the difference, Ulster dug in and threw everything at the Stormers to protect their advantage. Lock, Kieran Treadwell, made a huge turnover at a crucial time and had to come off injured for his efforts.
Ulster had to defend with 14 men for a ten minute period, after David McCann was sent to the sin-bin for an offside offence as the Stormers attacked.
Harry Sheridan, Rob Baloucoune, Cormac Izuchukwu and Stewart Moore all made massive interventions in their defensive work, as the Stormers looked for a way through Ulster's stubborn resolve.
The home side made the breakthrough, after their bulldozing back-row, Evan Roos, powered over from a lineout maul in the Ulster 22.
It was heartbreak after the defensive shift. Libbock's conversion made the scoreline 10-7 with only a handful of minutes left.
Ulster continued to defend in the dying minutes, and a penalty in front of the posts gave Manie Libbock the chance to add another three points and end the well-fought contest.
FT: DHL Stormers 13-7 Ulster
Scorers:
Stormers:
TRY: Roos
CON: Libbock
PEN: Libbock x2
Ulster:
TRY: Timoney
CON: Cooney
Teams
Ulster:
(15-9) Mike Lowry, Rob Baloucoune, James Hume, Stuart McCloskey, Ethan McIlroy, Nathan Doak, John Cooney;
(1-8) Steven Kitshoff, Rob Herring(C), Tom O’Toole, Harry Sheridan, Kieran Treadwell, Matty Rea, David McCann, Nick Timoney.
Replacements: Tom Stewart (Herring), Andrew Warwick (Kitshoff), Scott Wilson (O'Toole), Cormac Izuchukwu (Treadwell), Marcus Rea (Matty Rea), Dave Shanahan, Jake Flannery, Stewart Moore (Lowry).
DHL Stormers:
(15-9) 15 Warrick Gelant, 14 Suleiman Hartzenberg, 13 Dan du Plessis, 12 Damian Willemse, 11 Leolin Zas, 10 Manie Libbok, 9 Paul de Wet,
(1-8) Brok Harris, Joseph Dweba, Neethling Fouche, Salmaan Moerat (captain), Ruben van Heerden, Willie Engelbrecht, Hacjivah Dayimani, Evan Roos
<br>
Replacements: JJ Kotze, Leon Lyons, 18 Frans Malherbe, Adre Smith, Ben-Jason Dixon, Marcel Theunissen, Herschel Jantjies, Ben Loader.