Cabrera posted a 2-over 74 to end at 7-under-par 209. He was joined there by South African Tim Clark, who carded the low round of the day, a 5-under 67, and Australian Adam Scott (68).
Defending champion Retief Goosen posted the only other sub-par round, as he shot 1-under 71. He stands at 6-under-par 210 and was joined there by former U.S. Open champion Jim Furyk (72).
Cabrera, who led after round two, played the front nine at plus-2 with a birdie, a bogey and a double bogey. However, he birdied the 10th and 11th at Gary Player Country Club to get back to 9 under.
The Argentine tripped to a bogey on the 12th. Cabrera birdied the par-5 14th for the third round in a row, then birdied the 16th to climb to 10 under.
Cabrera struggled badly at the 17th. He found some deep rough off the tee and chose to layup. His third shot bounded over the green and into the water. Cabrera played his fifth just short of the green. He managed to get up and down for triple bogey, but his lead was lost.
Clark opened with back-to-back birdies from the first. He birdied Nos. 8 and 9 to move to 6 under. Clark sank a birdie on the 11th and another on the 12th before a bogey on 14 dropped him to minus-7. He parred his final four holes to remain there.
Scott played the front nine at 2 under with three birdies and a bogey. He bogeyed the 10th and 13th, but got those shots back with an eagle on the 14th. The Australian closed with consecutive birdies from the 17th to share the lead.
First-round leader Darren Clarke stumbled to a 4-over 76 to drop to 3-under-par 213. He fell into a tie for sixth alongside Luke Donald (75).
Ernie Els, playing for the first time since July knee surgery, carded a 1-over 73. He stands at minus-1, where he was tied for eighth place by Chris DiMarco, who shot a third-round 72.
Sergio Garcia, like Cabrera, was victimized by the 17th. He quadruple bogeyed the 17th en route to a 74 that dropped him to 10th place at 2-over-par 218. Kenny Perry, plus-7, and Stewart Cink, 11-over-par 217, round out the 12-player field.