A teary Jacques Kallis struck an emotional farewell century to become the third highest test run-scorer as South Africa took a 61-run lead with three wickets in hand at fourth day's lunch in the second and final test against India on Sunday.
Playing his last test, the 38-year-old all-rounder steered his side past India's first innings total of 334 before departing as his team reached 395 for seven at lunch.
Kallis, who announced his decision to quit test in a surprise statement on Christmas Day, reached his ton in 273 balls to a standing ovation from a disappointingly small crowd at the Kingsmead.
Kallis's exit was marked by a brief outpouring of emotion from the usually stoic cricketer.
Fifteen runs later, as he battled with hamstring cramp, Kallis passed Rahul Dravid's career tally of 13288 runs to move behind Sachin Tendulkar (15921 runs) and Ricky Ponting (13378) in the list of top test run-accumulators.
He was out three balls later, top edging spinner Ravindra Jadeja high into the air to be caught by India wicketkeeper Mahendra Singh Dhoni.
Kallis' 115 came off 316 balls and was his 45th test century, a record bettered only by 51 hundreds from Tendulkar, who retired last month.
Kallis, playing in his 166th test at the same venue where he made his debut 18 years ago, was ably supported in the extended morning session by an aggressive Dale Steyn, who had come in as the nightwatchman at the end of a rain-curtailed third day.
Steyn scored 44 off 93 balls before being caught behind as South Africa moved their overnight tally from 299 for five for the loss of two wickets, taking advantage of India's surprise decision not to take up the second new ball at the start of the day.
The wicket of Kallis was the fifth of the innings for Jadeja, who bowled 22 consecutive overs in the two-and-a-half hour session.