Christiaan Bezuidenhout put himself on course for back to back European Tour titles with a third round 67 at the South African Open.
The 26-year-old claimed his second European Tour title at last week's Alfred Dunhill Championship and has a good chance to add a third in Sun City after reaching 15 under for the week at Gary Player Country Club.
Wales' Donaldson had started the day level with playing partner Bezuidenhout and the pair jostled for the lead over the front nine.
South African Bezuidenhout struck first with a birdie on the first but Donaldson hit back with a gain from 15 feet on the second.
A Bezuidenhout bogey on the third saw Donaldson hit the front, and the former Ryder Cup star went two clear when he found the fifth green in two and birdied.
However, it was all change before the turn as Bezuidenhout made birdies from 30 feet at the sixth and five feet at the seventh before Donaldson bogeyed the eighth after finding a bunker with his approach.
That left Bezuidenhout a shot clear midway through the round and he stretched that advantage on the back nine, making further gains on the tenth, 15th and last.
In contrast Donaldson hit several wayward tee shots and dropped further shots at the tenth, 11th and 16th, although birdies at the 15th and 18th gave him a level par 72 to keep his title hopes intact.
“I’m really happy to be in this position," said Bezuidenhout.
"I’ve played three solid rounds of golf and have stuck to my game plan by not taking the golf course on and just keeping it in play.
“This is my fourth week in a row, but I’ve been sleeping well and my body is holding up quite well.
"I’m just trying to manage myself. I just need to hold up for another 24 hours. But it’s amazing to be in this position.”
Frittelli mixed five birdies with three bogeys as he signed for a round of 70, with his fellow South Africans Dean Burmester and JC Ritchie tied for fourth on nine under after shooting 71 and 66 respectively. Ritchie's round included a run of five successive birdies to end the front nine.