Storm was reprieved when Patrick Reed failed to play enough events to join the Tour and he made the most of it in Johannesburg.
Starting the day three shots clear of the world No 2, he almost buckled under the heat as McIlroy made five birdies in a final-round 68.
But the Northern Irishman’s bogey on the par-three 17th teed up a play-off which the Hartlepool man took.
He held his nerve to sink a close-range putt after McIlroy had finished the first time they went back up the 18th hole, but when McIlroy drove wildly the second time, he had a chance.
His first shot was not ideal either, though, following McIlroy into the rough, and back they went again.
The third time out, McIlroy’s second shot on the par-four was a poor one, falling short of the green, and a 45-foot putt by Storm that skipped just past allowed him to take a par. When McIlroy failed from seven feet, the title was Storm’s – his second European Tour title and first since he won the French Open in 2007. “I am speechless. It’s been incredible and I can’t quite believe it,” he said.
“This is a dream come true, especially after what happened to me last year with my card and everything. “I really took a lot from that experience and told myself to try and grasp the opportunity of getting my livelihood back with both hands and I have done that this week.
“It’s an unbelievable feeling. I hung in there today and didn’t play my best stuff but I knew if I could hang in there that I might get my chance and thankfully it came.
“It really means everything to me to be in the winner’s circle again. I have been to hell and back, to be honest with you. It’s been an absolute rollercoaster over the last year and a half, especially the end of last year. There was pressure today but not the same pressure as trying to keep your European Tour card. That’s real pressure and something I don’t want to feel for a long time.”
Storm picked up £143,000 as a result of the victory.
Englishman Jordan Smith finished a career-best third on 17 under par, while Scotland’s David Drysdsale finished on 13 under par to figure in a six-way tie for seventh place.
l McIlroy could miss next week’s Abu Dhabi HSBC Championship after playing through the pain of a back injury in the South African Open having considered pulling out of the event.
He will undergo a scan today.