Fortunately some fine fast bowling from India meant the South African team had been dismissed for 138 giving the tourists a lead of 271 with two days left of the four-day game.
India elected not to enforce the follow-on in order to give their beleaguered top order, which had slumped to 69-5 in the first innings, valuable time in the middle.
But the plan backfired when Wasim Jaffer completed a 'pair' and Virender Sehwag could add just 10 to his first innings duck.
Alfonso Thomas, dismissed both openers and added the scalps of VVS Laxman (31), Mahendra Dhoni (16) and Harbhajan Singh (0) to finish with 5-32 from 15 overs.
Laxman battled for nearly three hours during a painstaking innings which spanned 103 balls before edging a drive to point.
Sachin Tendulkar was trapped lbw for 12 and Saurav Ganguly edged his second ball to the wicketkeeper.
Having declared overnight on 316 for seven, India's new ball pair of Zaheer Khan and VRV Singh tore into the Rest of South Africa top order with regular wickets on a pitch offering a little more assistance than is normal at batsman-friendly Sedgars Park.
Six lbw decisions went the way of the Indians, including two each for VRV Singh (3-35) and Sree Sreesanth (4-53). Zaheer finished with two wickets for 22 runs from just seven overs as the Rest of South Africa were bundled out in just 31.4 overs.
The only notable resistance came from Vaughan van Jaarsveld who counter-attacked in impressive fashion for 52 from 57 balls with nine boundaries.
India's first Test against South Africa begins next Friday at the Wanderers in Johannesburg.
India 316 all out and 93 for 7 (VVS Laxma 31; A C Thomas 5 for 32, Hayward 2 for 13) Vs Rest of South Africa 138 all out (V van Jaarsveld 52; Sreesanth, V Raajveer Singh 3 for 35, Zaheer 2 for 22)Reuters