Daniel Brooks opened up a one-shot lead as The BMW SA Open hosted by City of Ekurhuleni moved into its closing stages at Glendower Golf Club.
The Englishman began the day in a share of the lead as he went out to complete the third round of the weather-affected event but after 54 holes found himself two shots behind Brandon Stone.
Two early birdies from the South African had given him a five-shot fourth-round lead but five bogeys in six holes coupled with two birdies for Brooks handed the 29 year old a one-shot advantage at the turn at 12 under.
Christiaan Bezuidenhout was then alongside Stone at 11 under as a tense finish loomed in South Africa.
Storms had led to an early finish on all three previous days of the event but Brooks is no stranger to inclement conditions, having won the Madeira Islands Open – Portugal – BPI in 2014, which was reduced to 36 holes due to the weather.
Brooks picked up a birdie on the 13th to get to 11 under as the third round was completed but he could not keep pace with Stone who had gains on the 12th, 13th and 16th.
There was a turnaround of less than an hour before the start of round four but that proved no problem for Stone who looked on course to ease to victory in the early stages.
After a par on the first, he rolled in a six-footer to get up-and-down for birdie on the second before another birdie followed after an excellent tee shot and approach to six feet on the fourth.
An errant tee shot then led to a bogey on the fifth, which is playing as the hardest hole of the week, as he dropped back to 14 under.
Brooks had also parred the first but put his tee shot left on the second to drop a shot before holing a gutsy eight-footer to hold on to second spot at the third.
Stone was then in danger of seeing his lead greatly reduced as he put his tee shot on the par three sixth in the water but he played his drop to eight feet and rolled in a confident putt to keep the damage at one and his advantage at three.
A missed putt from four feet on the next, however, brought the field closer and Brooks' confidence will have been given a boost as he did well to get up-and-down to save par from a bunker on the fifth.
Brooks followed that by putting his tee shot on the sixth to seven feet and rolling in for birdie to put the pressure on Stone but the leader responded impressively.
After a wayward tee shot went well right on the par five eighth, Stone played an excellent second shot to the back of the green and got down in two to stop the rot with a birdie and re-establish a two-shot cushion.
But another bogey followed on the ninth after another wild tee shot and Stone turned in 37.
Playing partner Bezuidenhout, meanwhile, was heading in the the opposite direction and, after taking advantage of the second, made further gains on the eighth and ninth to get to ten under.
Brooks was level par for his front nine but got back to where he had started the day - in a share of the lead - on the eighth as he narrowly missed an eagle putt and tapped in to get to 12 under.
The lead was his own moments later as Stone missed a slippery downhill putt on the tenth to make it five bogeys in six holes and Bezuidenhout was in a share of second as he made a birdie on the same hole after a brilliant approach.
Brooks then parred the ninth to turn in 35.
World Number 14 Branden Grace had also turned in 35 to sit at eight under alongside countrymen Justin Walters, Trevor Fisher Jnr and Keith Horne and Frenchman Berardo Clément.
American Daniel Im was then six under for the day through 17 at seven under alongside Mark Williams.