Jacques Kallis hit his second century of the match to put South Africa on top on the fourth day of the series-deciding third and final Test against India at Newlands on Wednesday.
Kallis, in pain from a side injury which kept him from fielding, made 109 not out as South Africa recovered from a precarious 130 for six to be all out for 341 off the last ball of the day - leaving India with the near impossible task of scoring 340 to win on a wearing pitch on which uneven bounce could make batting difficult on the final day.
It was the second time Kallis, who made 161 in the first innings, had scored twin hundreds in a Test match, a feat achieved six times by South Africans, although it was the first on home soil. The innings took Kallis into second place on the all-time list of Test centurions. It was his 40th hundred, one more than Ricky Ponting of Australia and 11 fewer than India's Sachin Tendulkar.
Kallis and fellow veteran Mark Boucher (55) rescued the South African innings with a seventh wicket stand of 103. Dale Steyn then hit a breezy 32 as he and Kallis added 54 for the eighth wicket against a tiring Indian bowling attack on a blisteringly hot day. India's misery was compounded when Morne Morkel hit 28 in a ninth wicket stand of 46, with Kallis happy to let the tailender keep the strike, before last man Lonwabo Tsotsobe hit the first two balls he faced for four and was caught on the boundary off the next delivery.
Off-spinner Harbhajan Singh had threatened to run through the South African batsmen when he took two wickets in his first two overs of the day to add to the two he took shortly before the close on the third day. At that stage he had taken four for ten in five overs but he had to wait another 28 overs to complete his 25th five-wicket haul when he dismissed Steyn.
He took the last two wickets to finish with seven for 120. Kallis and Boucher came together at a time when India were hot favourites to win the match and clinch the series, which is tied at one-all. South Africa were in deep trouble after Harbhajan struck twice early in the day and seamers Zaheer Khan and Ishant Sharma each took a wicket.
Kallis, batting in pain because of a bruised rib and a side strain suffered during his first innings, needed treatment shortly before lunch and again during the afternoon but played a chanceless innings. He batted for 380 minutes, faced 240 balls and hit eight fours.
Harbhajan, who exposed the first cracks in the South African batting order when he took two wickets shortly before the close of play on Tuesday, took just five balls to strike on Wednesday. Alviro Petersen failed to add to his overnight score of 22 before going back on his stumps to be leg before wicket to Harbhajan.
In Harbhajan's next over, Hashim Amla was bowled for two when he attempted a sweep and the ball looped off his pad and rolled into the stumps. Kallis and AB de Villiers added 34 with cautious batting before De Villiers tried to withdraw his bat from a lifting delivery by Khan and the ball crashed into his stumps off a bottom edge. Ashwell Prince slashed Ishant Sharma to backward point after making 22, leaving Boucher as the last recognised batsman to support Kallis. Boucher batted confidently to make 55 off 82 balls before he was trapped leg before wicket by a ball from part-timer Tendulkar which kept low.
=============================================
Scoreboard
=============================================
South Africa, first innings, 362
=============================================
India, first innings, 364
=============================================
South Africa, second innings (overnight 52-2)
G. Smith lbw b Harbhajan 29
A. Petersen lbw b Harbhajan 22
P. Harris lbw b Harbhajan 0
H. Amla b Harbhajan 2
J. Kallis not out 109
A. de Villiers b Khan 13
A. Prince c Sreesanth b Sharma 22
M. Boucher lbw b Tendulkar 55
D. Steyn c sub (Vijay) b Harbhajan 32
M. Morkel c Sreesanth b Harbhajan 28
L. Tsotsobe c Sehwag b Harbhajan 8
---------------------------------------------
Extras: (lb7, nb12, w2) 21
Total: (all out, 102 overs) 341
=============================================