(CNN) -- VVS Laxman fell four short of a deserved century before India's bowlers gave them an excellent chance of leveling their series against South Africa in the second Test in Durban.
Laxman's battling innings at Kingsmead enabled the tourists to set South Africa a challenging total of 303 for victory and the home side had slipped to 111 for three wickets by the close of the third day.
Jacques Kallis and AB de Villiers were unbeaten on 12 and 17 respectively and South Africa's hopes of a victory to win the three-match series rest with them on the resumption Wednesday.
South African captain Graeme Smith made 37 off just 38 balls as he and Alviro Petersen put on 63 in even time for the first wicket.
But Sree Sreesanth claimed Smith in the over before tea to start a mini-collapse.
Petersen was caught at short leg off Harbhajan Singh for 26 and Hashim Amla became Sreesanth's second wicket when he was caught behind.
Earlier, Laxman was the last man out as India made 228 in their second innings, caught behind off South Africa's premier paceman Dale Steyn.
The home side needed quick wickets at the start of the day and Morne Morkel (3-47) bowled Cheteshwar Pujara with the sixth ball of the day, but Laxman shared stands of 48 for the sixth wicket with Mahendra Singh Dhoni (21) and 70 for the eighth wicket with Zaheer Khan (27).
In a low-scoring match, these stands and Laxman's contribution, following on from his top score of 38 in India's first innings, could prove crucial.
India, the world's no.1-rated Test nation, lost the first match at Centurion by an innings and 25 runs.