South Africa was 67 runs short of India's first-innings 280 with four wickets in hand, with Vernon Philander resisting on 48 not out and preventing a far worse situation with his unbroken 67-run stand with Faf du Plessis, 17 not out.

Captain Graeme Smith made 68 but the rest of the top order crashed against Sharma and Mohammed Shami (2-48).

Hashim Amla, Jacques Kallis, Smith, JP Duminy and AB de Villiers fell in the space of 16 runs toward the end of awicket-filled day at the Wanderers and on a pitch the batsmen are finding especially challenging.

There has been one century and one half-century in two days.

India's seamers finally cashed in to take 4-16 in the middle of South Africa's innings and respond superbly to the 5-25 South Africa grabbed in 13 overs of the morning session to abruptly halt the visitors after they were reasonably set on 255-5 overnight.

India's bowlers worried South Africa's batters for most of the day under consistently cloudy skies on a quick, green Johannesburg deck without full reward, but gathered themselves at the tea interval.

Then, they quickly turned the Proteas' position of strength at 118-1 at the end of the second session to 146-6, and then a still vulnerable score by the end of the day despite the stubbornness from Philander and Du Plessis.

Philander hit five fours and was two short of his third test 50 after leading the South Africa bowlers with 4-61 at the start of the second day.

Left-armer Sharma was India's spearhead, with the prized wickets of Amla (36) and Kallis (0) off successive balls to go with his early dismissal of opener Alviro Petersen for 21.

Khan broke through to eventually send Smith back lbw for a 38th test half-century after the skipper was dropped on 19 offhis bowling. Shami forced Duminy to edge to slip and removed De Villiers lbw two balls later.

The top test teams are contesting only a two-match series, underlining the importance of the opening match.