South Africa made 397 in their first innings and led Zimbabwe by 113 at the end of the third day of the one-off Test at Harare Sports Club on Monday.
The Zimbabweans were 28-1 in their second innings after posting 256 in the first, and were facing an expected uphill battle against the top-ranked team.
South Africa's 141-run first-innings lead was built on scores of 98 by Faf du Plessis and 81 from Quinton de Kock, who combined for a 119-run partnership for the fifth wicket to put South Africa in control. Still, South Africa's run-scoring was slow at 2 1/2 runs per over as the visitors ground their way in front on a lifeless pitch where batsmen worked hard for their runs.
Offspinner John Nyumbu took 5-157 on debut for Zimbabwe, making use of a surface that favored the slow bowlers to claim the important wickets of Du Plessis and JP Duminy, who made 55, among his haul.
Vusi Sibanda (8 not out) and nightwatchman Donald Tiripano (1 not out) took Zimbabwe to the close in its second innings, still more than 100 runs behind and without experienced opener Hamilton Masakadza, who fell for 19 to a fierce rising delivery from Morne Morkel. Morkel got one near the end of the day to rear up sharply toward the throat of Masakadza, who fended it away to AB de Villiers in the slips. It was one of very few balls to find some life on the dry deck in Harare.
With South Africa continuing on 201-4 in the morning, Du Plessis and De Kock put together the best stand of the match to give the tourists a clear advantage.
Du Plessis batted for nearly six hours and faced 264 balls, but fell two short of his fourth Test hundred when he clipped a catch to a close fielder off Nyumbu. He hit 11 fours. De Kock had to restrain his normally attacking game to hit only five fours and a six, and he also fell to spin when he miscued a drive off Sean Williams to Sibanda.
Duminy made his sixth Test half-century and Dale Steyn briefly raised the tempo with two sixes off Nyumbu before the spinner struck back to remove him for 19.
Nyumbu's maiden five-wicket haul came when Duminy fell to another close catch trying to reverse sweep, and the bowler went down on his knees to celebrate an impressive debut despite Zimbabwe's tough position overall.