Perth - Graeme Smith and Hashim Amla reached half-centuries as the Proteas reached 144/1 and continued to build a healthy lead over Australia in the third Test.
Earlier, Mitchell Johnson had dismissed Peterson caught and bowled with a diving leap to leave the Proteas on 60/1 after tea.
The Proteas had extended their lead to 86 runs by reaching tea at 24 without loss on Saturday after bowling Australia out for 163 on the second afternoon of the third cricket test.
After draws in the first two tests, this test — which will decide not only the series but the world No.1 ranking — is headed for a result after 20 wickets fell in the first five sessions at the WACA ground.
Alviro Peterson was 21 not out after surviving the last 26 minutes of the middle session and skipper Graeme Smith was unbeaten on two.
South Africa posted 225 in the first innings, recovering from 75-6 with an unbeaten 78 from Faf du Plessis, and took two late Australia wickets on day one.
After resuming at 33-2 on Saturday, the Australians were reeling at 45-6 after losing 4-11 — including ex-skipper Ricky Ponting (4) and captain Michael Clarke (5).
However wicketkeeper Matthew Wade (68) shared partnerships of 55 with Mike Hussey (12) and 40 with debutant John Hastings (32) to drag the hosts to 140-8. He was finally bowled while attempting a sweep against the orthodox left-arm spin of Robin Peterson, who took the last three wickets after pacemen Dale Steyn (4-40) did the early damage.
Wade raced to his 50 from 51 balls, raising his half century with his third six, but dug in after the lunch break and slowly helped reduce the deficit before his dismissal triggered a late collapse.
Peterson bowled Mitchell Johnson (7), also attempting to sweep a ball that didn't turn, and Hastings drove him to long-off, where Alviro Petersen took a hopping, juggling catch right on the boundary rope.
Steyn, the top-rated bowler in test cricket, belatedly made a mark on the series with figures on the second morning of 3-12 in six overs, including a pair in his first over.
Australia only added two runs to its overnight total before opener David Warner (13) was caught behind, playing rashly outside off stump to Steyn to spark a half hour of carnage.
Ponting got a standing ovation from the crowd when he went in to bat in his 168th and last test match and got off the mark quickly with a single, then watched as night watchman Nathan Lyon was out two balls later, slicing Steyn to du Plessis at gully.
Ponting faced seven balls before he was trapped lbw by Vernon Philander, and his referral to the third umpire was rejected when replays showed the ball hitting him in front on the knee roll.
Australia's position deteriorated further when Clarke got an edge to a perfect away swinger from Steyn to make the total 45-6. It was Clarke's first serious failure of the series, after scoring double centuries in the first innings of both the drawn first and second tests.
Yet it could have been worse for Australia. Wade should have been out without scoring but Hashim Amla missed a run-out chance at the striker's end after Hussey took off for a dangerous, quick single.
The No. 1 ranking is on the line in Perth, where South Africa needs only a draw to retain top spot and Australia requires a victory.