In-form Sergio Garcia extended his lead at the Nedbank Golf Challenge to two shots in Sun City, though Louis Oosthuizen heads a tightly bunched chasing pack going into the final day.
Seeking back-to-back European Tour wins and a first triumph in a Rolex Series event, Garcia shot a one-under 71 to reach 10 under for the tournament at Gary Player Country Club.
But the Spaniard could have been in a more comfortable position at Saturday's close, having held a four-shot lead going up the 18th, only to bogey the hole as Oosthuizen gained a stroke, causing a two-shot swing.
Home favourite Oosthuizen had been one shot adrift of Garcia after round two, but the birdie on 18 was a rare highlight in a round of 72 that nonetheless keeps him in contention.
Garcia has won his last three events when leading after 36 holes, and eight out of 16 in total.
Thomas Detry, Lee Westwood and Mikko Korhonen are in a group of three players sitting three shots adrift in a tie for third.
Detry followed up his 66 in round two with a 68 on Saturday, capped by an impressive 25-foot putt for par on the last.
The lowest score of the day - an impressive five-under 67 that included an eagle at the 10th - saw Ross Fisher surge up the standings into sixth place, four shots behind Garcia.
A 74 from defending champion Branden Grace saw him fall out of contention at one under, while four-time major champion Rory McIlroy - aiming for a late push in the Race to Dubai standings – saw his uninspiring week continue with a one-over par 73, which leaves him at even par.