Harare: Zimbabwe stifled South Africa's usually fluent top six but the world's top-ranked Test side remained in control by reaching 201 for four, 55 runs behind, at the close on the second day of the one-off Test at Harare Sports Club on Sunday.
The day yielded just 209 runs in the 90 overs on a wicket that is becoming increasingly difficult to bat on as Zimbabwe posted 256 in the morning session.
Faf du Plessis (69) and Quinton de Kock (27) will resume on day three.
In the hour after tea South Africa scored 11 runs for the loss of Hashim Amla and AB de Villiers as the home sided packed the offside field and bowled wide of off-stump, daring the South African batsmen to blast their way through the ring of men.
Amla (four) tried, but succeeded only in picking out Vusi Sibanda at cover off the bowling of seamer Tendai Chatara.
It was the perfect execution of home captain Brendan Taylor's plan, hatched no doubt given his limited bowling options.
That subdued the attacking instincts of Du Plessis and De Villiers, who left anything wide and what runs came were from rare deliveries on the stumps.
De Villiers' demise was lazy in the end as if the boredom of it all overcame him as he tried to hit a ball from off-spinner John Nyumbu over cover, but succeeded only in picking out Sibanda.
Usually so fluent and difficult to contain, De Villiers' torturous seven came from 34 balls.
Opener Dean Elgar fought his way to 61 from 146 balls before he was superbly caught flashing at a wide delivery by wicketkeeper Richmond Mutumbami off the bowling of Donald Tiripano, handing the debutant seamer his maiden Test wicket.
Under-pressure opener Alviro Petersen (32), who averages 21 in his last 10 Test innings, was also caught by Mutumbami — at the second attempt — after he attempted to paddle a leg-side delivery from Nyumbu.
In the morning session, Dale Steyn completed his 24th five-wicket haul in Tests to end the Zimbabwe innings. Steyn finished with five for 46 from 22.4 overs to take his tally of Test wickets to 380, three short of Ian Botham in 13th place on the all-time list.
Off-spinner Dane Piedt recorded figures of four for 90 in his first Test.