Wickets tumbled and batsmen were struck on the fingers and body as South Africa and India battled for supremacy on the second day of the third and final Test on Thursday.
Hashim Amla's 61 enabled South Africa to squeeze into seven-run first innings lead before India nudged ahead again by reaching 49 for one at the close, an overall lead of 42 at Wanderers Stadium.
Batsmen faced extreme difficulties on a pitch criticised by two former South African and Indian captains, Shaun Pollock and Sunil Gavaskar, who are commentating on the match for TV.
Pointing to cracks and indentations on a good length, with graphics showing extravagant movement and unpredictable bounce, Pollock said: "If you've got deliveries behaving like this on day two of a Test match it can't be judged a good surface."
Gavaskar said the pitch was "totally in favour of bowlers".
India, trying to avoid a whitewash in the three-match series, could feel reasonably satisfied with their efforts towards the close of play.
Wicketkeeper Parthiv Patel was promoted to open the batting and the little left-hander batted brightly to score 16 off 15 balls before he was caught at gully off Vernon Philander from an inside edge which looped off his thigh pad.
Regular opener Lokesh Rahul joined Murali Vijay and saw India through to the close.
With the South African bowlers proving surprisingly erratic, both Vijay and Rahul were able to put some loose deliveries away.
Amla battled for four hours and faced 121 balls in making the highest score of the match. Bowlers Kagiso Rabada (30) and Philander (35) were the only South Africans to reach double figures in a total of 194.
Amla survived two reviews for leg before wicket, being saved by the "umpire's call" provision on both occasions, and took some painful blows, including one in the ribs and another on his hand.
India's bowlers, led by Jasprit Bumrah (five for 54) and Bhuvneshwar Kumar (three for 44), never allowed the batsmen to settle, with the ball deviating disconcertingly off the pitch at times.
Amla adapted his technique, shuffling across his stumps to counter the movement the bowlers were getting on the pitch -- the conditions gave credence to Indian batsman Cheteshwar Pujara's assertion on Wednesday that his side's total of 187 was a good one.
Nightwatchman Rabada batted with discipline, some luck and occasional class and shared a third-wicket partnership of 64 which held up the Indian bowlers until Rabada was caught at gully off Ishant Sharma six minutes before lunch.
There were several hold-ups while batsmen were treated after being struck, mainly on the fingers. Two bowlers, Philander and Morne Morkel, both suffered blows on their right hands.