Rory McIlroy was unable to mount a day-three charge at the Nedbank Challenge as a one-over-par 73 left him 10 behind leader Sergio Garcia.
McIlroy needs at least a runner-up finish at Sun City to keep alive his hopes of catching Race to Dubai series leader Francesco Molinari.
But three bogeys in his opening seven holes saw the world number six tumbling down the leaderboard.
He responded with two birdies which left him sharing 20th on level par.
Garcia, who started day three one ahead of home player Louis Oosthuizen, led by four after eight holes but a closing bogey cut his advantage to two shots over the South African.
Last year's Masters champion fired a second successive 71 with 2010 Open champion Oosthuizen signing for a 72.
Lee Westwood, Finland's Mikko Korhonen and Belgium's Thomas Detry are all three behind Garcia going into the final round.
Ireland's Shane Lowry was unable to make up ground as a 74 left him in a share of 11th spot on two under.
This season's European Tour will conclude with next week's World Tour Championship in Dubai.
Eighth-placed McIlroy is almost £1.75m behind Molinari in the Race to Dubai with the Italian set to take a lead of just under £1m from Ryder Cup partner and defending champion Tommy Fleetwood into the concluding event.