With the record, he became the fifth South African to join the 300 club. Photograph:( Twitter )
South African pacer Morne Morkel took his 300th Test wicket to break a promising Australian partnership on the second day of the third Test at Newlands on Friday.
Aussies were 150 for the loss of five wickets at tea in reply to South Africa's 311 runs in their first innings.
Morkel, who announced to retire from international cricket after the series, took three of the first four Australian wickets to fall.
With the record, he became the fifth South African to join the 300 club.
Morkel dismissed Usman Khawaja and Steve Smith in his first spell, then came back to break a 78-run stand between Cameron Bancroft and Shaun Marsh when Marsh flashed at a wide ball and was caught behind.
33-year-old Morkel was playing in his 85th Test and became the 32nd bowler in the world to achieve the feat.
Earlier, Kagiso Rabada was hit for five boundaries in a row by David Warner but won a duel with the Australian opening batsman when he sent Warner's off stump cartwheeling.
Warner was bowled for 30. He hit three fours off the last three balls of Rabada's second over, then hooked the first ball of Rabada's next over for six.
He sliced a no-ball for four, then was bowled by a ball which went between bat and pad with Warner stuck on his crease.
Rabada, who had a two-match ban for making contact with Australian captain Steve Smith overturned before the Test, ran down the wicket to celebrate but did not go near the batsman.
But Warner appeared to react to a comment from a spectator in the members' pavilion, stopping and turning as he climbed the steps to the dressing room.
South African opening batsman Dean Elgar equalled a world record when he carried his bat through a completed innings for the third time.
Elgar finished unbeaten on 141. Only Desmond Haynes of the West Indies had previously batted through a Test innings on three occasions.
Elgar and Rabada frustrated the Australians for 50 minutes as they took South Africa's overnight total from 266 for eight. They shared a partnership of 50 before off-spinner Nathan Lyon had Rabada caught by Smith at slip for 22 off his first ball of the day.
Elgar batted for 434 minutes, faced 284 balls and hit 20 fours and a six.