India, leading the three-match series 1-0, limped to 47 for four at lunch after Ntini dismissed both overnight batsmen, Sachin Tendulkar and Wasim Jaffer on Saturday.
The start of play was delayed by 55 minutes and only 4.3 overs were bowled before the light worsened again and the players left the field. Ntini had figures of four for 15.
India, resuming on 38 for two, lost Tendulkar to the fifth delivery of the shortened session. Ntini produced a virtually unplayable ball to Tendulkar that cut back sharply and kept low to trap India's star batsman leg before for nought.
Wasim Jaffer followed nine balls later when he played an injudicious pull shot that looped gently to Andre Nel at mid-on. He made 28.
VVS Laxman and Sourav Ganguly survived until the umpires offered them the chance to go off, with the light having deteriorated markedly.
India's nominal target of 354 to win had already become irrelevant, while South Africa's quest to level the series ahead of the third and final Test starting in Cape Town Tuesday looked likely to be thwarted by the weather. The forecast was for continued cloud with a 60 percent chance of showers.
South African wicketkeeper Mark Boucher said Friday that he believed his team would need 50 overs Saturday to achieve victory but the prospects of that being possible were receding.
The ground was covered by heavy cloud and the floodlights were on before the scheduled start. The match has been plagued by bad light, with 102 overs lost on the first four days.
South Africa 328 and 265 for 8 decl Vs India 240 and 47 for 4 ( Jaffer 28; Ntini 4 for 15)