Harare - Debutants John Nyumbu and Donald Tiripano picked up their maiden Test wickets for Zimbabwe, but South Africa nevertheless made a strong start to their first innings to reach tea on 146 for two on day two of the one-off Test.
LIVE: Zimbabwe v SA - Day 2
While Nyumbu dismissed Alviro Petersen for 32 shortly before lunch to extend the opener's spell without a century to 22 innings, Tiripano had Dean Elgar caught behind for 67 during the afternoon session.
However Faf du Plessis moved to 47 not out at tea while Amla was unbeaten on five, with the Proteas trailing Zimbabwe's first-innings total by 110 runs.
While the tourists gave themselves a chance of securing a significant lead, they were contained for long spells by the Zimbabweans as they scored 84 runs from 32 overs during the second session.
The day had begun with Dale Steyn completing 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.