Neil McKenzie top-scored with 94, but India came back strongly thereafter to restrict South Africa to 304 for 4 on Day 1 of the opening Test at the M A Chidambaram stadium in Chennai on Wednesday.
The 32-year-old opener was unlucky to miss out on a century -- caught at first slip off Harbhajan Singh -- but ensured that South Africa had a solid foundation to build on after a 132-run partnership for the first wicket with Graeme Smith.
McKenzie hit 18 boundaries off 156 deliveries, while Smith eased his way to a brisk 73, inclusive of 13 boundaries, before being caught by V V S Laxman off Harbhajan.
At close, Hashim Amla was unbeaten on a gritty 85, inclusive of 10 boundaries, off 159 deliveries, while A B de Villiers was not out on 10 from 26 deliveries.
India must be grateful to their spinners, Harbhajan (2 for 92) and Anil Kumble (2 for 61), for helping them fightback.
Morning session: (109 runs, 25 overs, 0 wickets)
There were hardly any spectators at the start of the match. Maybe, because all promotion around the stadium was focused on Indian Premier League team Chennai Super Kings.
South African openers McKenzie and Smith got off the team to a quick start, scoring 25 in five overs. There wasn't much help from the pitch for India's pacers even in the first session and the batsmen found it easy, stroking a few early boundaries.
South Africa were 43 for no loss after 10 overs before captain Kumble replaced R P Singh.
Neil McKenzie was particularly impressive as played shots on both sides of the wicket. The 32-year-old stroked two boundaries in Kumble's second over to move to 30 and take South Africa past the 50-run mark by the 13th. At the other end, captain Smith, after surviving a testing spell from S Sreesanth, began to find his feet.
The two batsmen were involved in a world record opening partnership of 415 against Bangladesh in their last match and the way pitch was playing they looked on course for another big partnership.
Kumble and Harbhajan tried to keep things in check with a few tight overs. However, Smith broke the shackles in the 18th over with two consecutive boundaries off Harbhajan.
McKenzie showed how easy it was for the batsmen when he stepped down the wicket to Harbhajan and lofted the ball over mid-off for his 10th boundary, in the 22nd over.
Kumble bowled a lacklustre spell of six overs, giving away 20 runs, all in boundaries, four of which were hit by McKenzie.
The 32-year-old right-hander brought up his half-century with another delightfully-flicked boundary through the leg-side off R P Singh. It took him 72 deliveries to reach his fifty, his second against India, and included 11 boundaries.
Smith brought up the 100-run partnership for the first wicket with a wonderful straight boundary off Harbhajan. It was the 14th time that Smith was involved in a partnership above 100 for the opening wicket, surpassing the record of 13, held by former South Africa opener and current India coach Gary Kirsten.
The left-hander brought up his half-century off the final ball of the first session when he pulled R P Singh through fine leg for a boundary.
At the break, South Africa were a healthy 109 for no loss in 25 overs. Smith was unbeaten on 53, having hit eight boundaries off 71 deliveries.
Post-lunch session: (97 runs, 29 overs, 2 wickets)
Smith, on 53, got an inside edge off Sreesanth, which was dropped by wicketkeeper Mahendra Singh Dhoni as he tried to get up after diving to his right. The batsman capitalised on the chance and pulled Sreesanth through the leg-side for a boundary.
The next over -- the 33rd of the innings -- saw Sreesanth suffer more as Smith crashed him for four boundaries in a single over. The pacer seemed helpless as Smith hit him effortlessly straight down the ground and followed it with three boundaries through the off-side.
The sparse gathering was stunned into silence. But, then, India struck, much against the run of play, as Kumble got the key wicket of Smith, who was caught by Laxman at short mid-on. The opener was dismissed after a brilliant 73 off 97 deliveries.
Amla started off solidly, hitting a couple of boundaries in the 41st over by R P Singh. At the other end, McKenzie despatched Kumble straight down the ground for his 15th boundary.
The 32-year-old opener smashed Harbhajan for two boundaries in the 49th over to move into the 90s. He charged the off-spinner twice in the over and both times lofted it over the leg side to take his boundary count to 17. He was lucky in Harbhajan's next over as an edge saw the ball fly past the slip fielder for a boundary.
However, Harbhajan brought an end to his good fortune. McKenzie played forward, but the ball kept straight and the edge carried to Rahul Dravid at first slip. The right-hander was unlucky to miss out on a century after a flawless 94, off 156 deliveries, that was studded with 18 boundaries.
Amla thumped Harbhajan through the cover region to take South Africa past the 200-run mark in the 53rd over. They went into the tea break on 206 for 2 wickets off 54 overs.
Amla was unbeaten on 31, inclusive of five boundaries, while Jacques Kallis was not out on 3.
It was another good session for South Africa though they lost two wickets.
Post-tea session: (98 runs, 36 overs, 2 wickets)
India contained South Africa's scoring rate after lunch as both batsmen were keen on spending time at the wicket. The first boundary came five overs after the break when Amla hit Sreesanth through the covers to move to 40. He brought up his fifty in the 62nd over with a powerful square cut off Harbhajan in the 62nd over.
It was a sign of things to come, as all the three batsmen eased to half-centuries. Even newcomer Kallis seemed at ease as the Indian bowlers toiled.
However, he could only score 13 before being caught off an inside edge at short leg to become Harbhajan's second victim of the innings.
In fact, Kallis walked back even as the umpire deliberated whether there was an inside edge or not as South Africa were reduced to 244 for 3 after 65 overs.
Amla and Ashwell Prince then went about frustrating the Indian bowlers with some resolute batting. The visitors wanted to make sure wickets were not given away easily so that they could resume on the second day with as many batters as possible.
Amla, in particular, played the most impressive knock of the day as he made the Indian bowlers grind it out. Not once did he look ruffled and eased his way to a solid 80, laced with 10 boundaries.
Prince found it difficult to get going against the spinners and most of the time was content defending. His end was to come soon with old warhorse Kumble producing an extra-ordinary effort in the field to send back the left-hander for 23.
The batsman lobbed one back straight to the Kumble, who came up with a magnificent catch. The leggie hung on to the ball after diving to his left with his left hand fully outstretched.
Amla continued to be resourceful in the last few overs, denying the Indian bowlers any chance. His single off Harbhajan in the 87th over of the innings helped South Africa cross the 300-run mark.
They finished the day on a healthy 304 for four in 90 overs after making maximum use of a good first day pitch.
Amla was unbeaten on a gritty 85, inclusive of 10 boundaries in his 159-ball knock. At the other end, de Villiers was not out on 10 from 26 deliveries, inclusive of a boundary.
For India, Kumble emerged with best figures, claiming two for 61, while Harbhajan claimed two for 92. The two spinners shared most of the burden during the day, bowling 55 overs between themselves out of the 90 sent down.
The pacers did not get any help from the pitch and must have felt the difference after the bowler-friendly conditions in Australia. They will now hope for a couple of early wickets tomorrow to bowl out the visitors for under 400.
On the other hand, with Amla steady on 85, South Africa could well be eyeing a score around 500.