Germany's Martin Kaymer will take a one-shot lead into the final round of the Nedbank Challenge after posting a two-under-par 70 on Saturday.
Kaymer mixed three birdies and just a solitary bogey to ensure he finished the day one clear of Louis Oosthuizen (69) and two clear of another South African, Charl Schwartzel (70).
Defending champion Lee Westwood also shot a 70 to remain in the mix at two-under alongside American Bill Haas, but overnight leader Paul Lawrie toiled to a 75 that ensured he fell four shots off the pace.
Playing together in the final pairing, Lawrie and Kaymer both struggled early on with conditions at the Gary Player Country Club much colder and gloomier than the opening two days.
Lawrie made three bogeys in his opening five holes as he surrendered his slim advantage at the head of the field, but Kaymer, whilst not playing well, battled and limited the damage to just a solitary bogey at the third.
The German then produced a solid two-putt birdie at the par-five ninth to get himself back to three-under and at that stage shared the lead with Oosthuizen, Schwartzel, Westwood and Haas.
But as his rivals all contrived to drop shots, the German played consistently and then hit form with his putter as he made back-to-back birdies at 13 and 14 to move clear.
Westwood was left to rue consecutive bogeys at 12 and 13 as he never quite got going but will still harbour hopes of winning the tournament for the third year running.
Only half of the 12-man field are now under par with Italy's Francesco Molinari - who started the day one-under - dropping right back down the field after an error-strewn 78.
After his 79 on Friday, Justin Rose restored some respectability with a joint best of the day 69 that left him in tenth spot, ahead of Nicolas Colsaerts and Garth Mulroy.