Australia's Steve Smith took his 150th Test catch Thursday as South Africa lost three wickets in a forlorn battle to prevent a heavy defeat in the second Test at the Melbourne Cricket Ground.
The visitors reached lunch on day four at 120-4 after Theunis de Bruyn (28), Sarel Erwee (21) and Khaya Zondo (one) all departed in the first session.
Temba Bavuma was unbeaten on 37 and Kyle Verreynne on 27, still 266 runs behind after Australia declared at 575-8 in reply to the Proteas' first innings 189.
They resumed on 15-1 after skipper Dean Elgar was caught by Alex Carey off Pat Cummins for a duck before rain halted play early on Wednesday.
South Africa were fighting to keep the three-Test series alive after losing the opener in Brisbane by six wickets.
The wickets fell despite Australia's attack being depleted, with Cameron Green, who took 5-27 in their first innings, ruled out of bowling again in Melbourne -- and the final Test in Sydney -- with a fractured finger.
Mitchell Starc is also nursing a bruised and bloodied finger, but he played through the pain and his sheer pace caused plenty of problems.
Erwee, who resumed on seven, hit a superb drive for four off him as his confidence grew, but Starc quickly got his revenge, trapping him lbw with a cracking yorker.
Theunis de Bruyn, who was dropped late Wednesday, began on six and built up to 28, but he soon followed his teammate back to the pavilion.
This time Scott Boland did the damage, enticing an edge that was taken by the ever-reliable Smith in the slips for his 150th catch. He is 14th on the all-time list, led by Indian great Rahul Dravid's 210.
South Africa were under the pump and needed to dig in, but Bavuma inexplicably attempted a single from Cummins and Khaya Zondo was easily run out by a Travis Head underarm throw.
It left them teetering at 65-4 before Bavuma and Verreynne knuckled down.