Faf du Plessis and Dean Elgar made half-centuries on Sunday as top-ranked South Africa slowly chased down Zimbabwe in the one-off Test at Harare Sports Club.
Du Plessis was 69 not out and opener Elgar earlier made 61 to take South Africa to 201-4 by stumps on the second day, 55 behind Zimbabwe's first-innings score of 256.
South Africa had to work hard against the lowly-ranked Zimbabweans on a dry, slow pitch where batsmen found it hard to score freely through the opening two days. Du Plessis ground out his 69 off 192 balls with eight fours and South Africa scored at less than 2 1/2 runs per over in its first innings.
Offspinner John Nyumbu made the most of a helpful surface for slow bowlers to collect 2-71 for Zimbabwe on his test debut. Nyumbu removed opener Alviro Petersen (32) and then the dangerous AB de Villiers for seven to have Zimbabwe's neighbor 157-4 midway through the day and in a little trouble.
Du Plessis combined for an unbroken 44-run stand with wicketkeeper-batsman Quinton de Kock to take South Africa past 200 and within sight of Zimbabwe.
South Africa needs to win to retain the No. 1 ranking it won back from Australia with a series victory in Sri Lanka last month. The test in Harare is the first between the African neighbors in a decade.
South Africa's only slip before lunch on day two had been the loss of opener Petersen when he tried to sweep Nyumbu and was dismissed by a superb catch by wicketkeeper Richmond Mutumbami, who reacted instantly after an edge hit him to dive to his right and hold the chance.
Du Plessis and Elgar appeared to put the visitors firmly in charge with a 75-run partnership for the second wicket but Elgar, new captain Hashim Amla and De Villiers all fell within 25 runs as South Africa stuttered. Seamer Donald Tiripano, Zimbabwe's second debutant in the test, took his first wicket when Elgar nicked behind and Mutumbami dived for another impressive take. De Villiers and Amla, the No. 2 and No. 3 batsmen in the world respectively, both failed to reach double figures.
But having just survived a run out chance when he was on only 1, Du Plessis fought to give South Africa back control with a typically gritty innings and found support in De Kock, who was 27 not out.
At the start of the day, South African fast bowler Dale Steyn needed less than two overs to end Zimbabwe's first innings when he had Nyumbu caught down the leg-side, giving the world's top-ranked bowler 5-46 and his 24th career five-wicket haul. Spinner Dane Piedt finished with 4-90 for South Africa on debut after an impressive start to his international career.
Skipper Brendan Taylor top-scored for Zimbabwe with his 93 on the first day.