Jacques Kallis, playing in his final Test match, ground out an unbeaten 78 after South Africa lost three wickets in quick succession on the third day of the second and final Test against India at Kingsmead on Saturday.
South Africa were 299 for five, 35 runs behind India's first innings total of 334, when rain brought an early close.
Kallis received a standing ovation from the crowd and a guard of honour from the Indian players when he walked out to bat after Graeme Smith and Hashim Amla had been dismissed for 47 and three respectively.
Before he faced a ball, Alviro Petersen was caught at slip for 62 off a ball from Ravindra Jadeja which bounced more than Petersen expected.
Left-arm spinner Jadeja put a clamp on the scoring rate and picked up four for 87 in 37 overs.
Fairly early in his innings, Kallis hit two successive lofted drives for four off Jadeja but the spin bowler, who replaced Ravichandran Ashwin from the team that played in the drawn first Test, was never mastered.
Kallis and AB de Villiers (74) shared a fourth wicket partnership of 127 after South Africa lost three wickets for ten runs to be wobbling at 113 for three.
Most of the enterprise came from De Villiers, who continued in a rich vein of form which has taken him to the top of both the Test and one-day international batting rankings. He hit nine boundaries in a 117-ball innings.
But after De Villiers was caught at slip off Jadeja, the scoring rate almost ground to a halt with Kallis taking no chances after announcing that he would retire from Test cricket after this match. It was important from a team point of view, too, that South Africa secured a first innings lead on a pitch on which Jadeja gained turn and occasional unexpected bounce.
Kallis and JP Duminy (28) added 58 runs off 176 balls, a scoring rate of just under two runs an over, as Indian captain Mahendra Singh Dhoni set defensive fields and declined to take the second new ball, with the batsmen finding it difficult to be assertive against accurate slow bowling.
Kallis advanced to a half-century off 131 balls when he cut Jadeja for four shortly after De Villiers was dismissed.
It was the 103rd time in 166 Tests that Kallis had scored 50 or more, with 44 of those innings converted into centuries. But it was first Test half-century in eight innings, going back to a match against Pakistan in Johannesburg in February.
By the close Kallis had been batting for 274 minutes, facing 224 balls and hitting ten fours. He gave a sharp chance to Shikhar Dhawan at silly mid-off against Jadeja when he was on 74.
Smith and Petersen took their opening partnership to 103 from the overnight total of 82 but were unable to bat with the freedom they had displayed on Friday evening.
Jadeja troubled both batsmen before Smith, on 47, went down the wicket and mistimed an attempted hit over midwicket. Dhawan ran back and held a good, diving catch.
Amla was bowled by Mohammed Shami for three when an inswinging delivery straightened past his bat and hit the off stump.