Zimbabwe were forced to follow on after being bowled out for 68 on the second day of their one-off day-night Test against South Africa at St George's Park in Port Elizabeth on Wednesday.
South Africa led by 241 runs on the first innings.
Fast bowler Morne Morkel was the main destroyer, taking five for 21. Kagiso Rabada and Andile Phehlukwayo took two wickets each.
Nightwatchman Kyle Jarvis was the top scorer for Zimbabwe, making 23.
Morkel, who took the first three wickets under floodlights on Tuesday, when Zimbabwe were left floundering on 30 for four, again made the first breakthroughs.
With his seventh ball of the morning, Morkel bowled left-hander Rory Burl for 16, beating the batsman for pace with a ball angled in from around the wicket.
Four balls later he had Sikandar Raza caught behind after softening him up with a vicious bouncer.
de Kock out of Test
South Africa were again without wicketkeeper Quinton de Kock, who suffered a low grade hamstring strain while batting on Monday. De Kock was ruled out of the rest of the match, with captain AB de Villiers keeping wicket.
De Kock did not take the field for the second day's play on Wednesday, with AB de Villiers again keeping wicket.
A statement from Cricket South Africa said scans had revealed a low grade hamstring strain which would keep him out of the rest of the match.
He will stay with the team to have treatment from the team physiotherapist and it was expected he would be fit for the first Test against India, starting in Cape Town on January 5.
Source: Agencies