Opener Alviro Petersen?s long spell without a significant score continued, but South Africa still reached lunch on a comfortable 62 for one on day two of the one-off Test against Zimbabwe at Harare Sports Club.
Petersen became Zimbabwe offspinner John Nymbu?s first wicket in Test cricket shortly before the interval when he was caught by wicketkeeper Richmond Mutumbami for 32, extending his sequence without a century to 22 innings.
Fellow opener Dean Elgar stood firm to go into the break unbeaten on 25, with the Proteas 194 runs in arrears.
Dale Steyn had earlier completed his 24th five-wicket haul in Tests when he claimed the final wicket of the Zimbabwean innings.
Steyn had Nyumbu caught behind in the fourth over of the day as Zimbabwe added just eight runs to their overnight total of 248 for nine, and finished with figures of 5 for 46.