A double strike by India's bowlers after tea put the tourists slightly ahead of South Africa after three days of the second Test and set up an intriguing finale at Kingsmead.
Harbhajan Singh removed Alviro Petersen (26), while the much-improved Sreesanth added the big wicket of Hashim Amla (16) to his list as the hosts were on 111 for three - still 192 short of victory - when bad light brought an early end to the day's proceedings.
The bowlers' efforts came after an even mightier assault by VVS Laxman, who made 96 to help the tourists reach 228 and set the home side 303 to win.
The veteran batsman put on 70 with Zaheer Khan (27) for the eighth wicket and also received good support from Mahendra Singh Dhoni (21) in an innings of determination and concentration.
It left a monumental task for the Proteas considering that only twice has a 300-plus victory target been achieved in the fourth innings at the Durban ground - the highest being 340 achieved by the South Africans against Australia in 2002.
Graeme Smith (37) and Petersen provided the perfect start as they raced past 50 in the 10th over.
But in the final over before tea, captain Smith needlessly tried to pull Sreesanth, who bowled poorly in the first Test and early part of the first innings, and top-edged to Dhoni as the game swung back to level-pegging at 70 for one.
Petersen managed to survive just five more deliveries after the resumption and then found himself walking back to the pavilion following a poor shot off Harbhajan that came off the thigh and into the hands of Cheteshwar Pujara at short leg.
Four balls later and Amla was gone for 16 and a second successive failure in his 50th Test - the South Africa number three also playing an unnecessary shot with his cut edged to Dhoni.
Jacques Kallis (12) and AB de Villiers (17) showed much better application, nudging their side past 100 in the 24th over, before clouds moved over and halted play one hour before the scheduled close.