DURBAN, South Africa - A farewell century for South Africa from Jacques Kallis and a thumping half-century by tailender Robin Peterson left India battling to save the second Test and the series at Kingsmead on Sunday.
Kallis signed off before retiring from Tests with 115 and a 45th career century to go third on the list of all-time run-scorers - all at the ground where he made his debut 18 years ago.
"It's strange walking out to bat knowing that there is no tomorrow and it will be your last opportunity to get a 100 for your country," the 38-year-old Kallis said.
Seizing the momentum after Kallis departed to be hugged by nearly all his teammates, Peterson hit nine fours and a switch-hit for six in his lively 61 off 52 balls and South Africa were 500 all out in their first innings for a lead off 166.
India defended grimly to battle to 2-68 in their second innings at stumps on day four, 98 behind with Cheteshwar Pujara facing 90 balls for his 32 not out.
South Africa backed up their batting with the wickets late in the day of openers Murali Vijay for 6 and Shikhar Dhawan for an 87-ball 19 to a leaping one-handed catch by Faf du Plessis.
"That was a brilliant catch," India fielding coach Trevor Penney said.
"Those sorts of things change games, don't they? We're just going to have to really dig deep and fight the (last) day out."
Du Plessis' late acrobatic grab threatened to steal the limelight from the retiring Kallis, who completed his century in the morning for an emotional goodbye to the long format for South Africa's most successful batsman ever.
His 115 also moved him ahead of India's Rahul Dravid in Test cricket's all-time leading run-scorers - by just a single run.
Kallis went to three figures with a nudge to mid-on and celebrated by removing his helmet and lifting both arms in the air as he faced the team dressing room. He was out to spinner Ravindra Jadeja, who had a career-best 6-138 for India.
As Kallis walked off waving his bat to the crowd, members of the South African team came out of the dressing room and down the stairs toward the field to hug him one by one.
"With 20 runs to go to 100, I think all the boys were playing the innings with him," Peterson said.
Kallis' century also made him the third-highest run-getter in Tests behind India's Sachin Tendulkar and Ricky Ponting.
Peterson shared a stroke-filled 110-run stand with Du Plessis (43) as South Africa scored quickly in an attempt to give themselves a chance of a victory with time running out in Kallis' 166th and final Test.
Kallis announced on Christmas Day that it would be his final Test, taking many by surprise.