Virender Sehwag fell well short of Brian Lara's world record score as South Africa fought back on the fourth day of the first Test in India.
Sehwag resumed on 309, having already compiled the fastest triple century ever, and immediately added the single he needed to surpass the highest score made for India, beating his own record set against Pakistan in Multan four years ago.
But the right-hander did not last much longer, edging a full Makhaya Ntini delivery to Neil McKenzie at first slip in the sixth over of the day to depart for 319, the 15th highest score in Test history.
His innings, which began on Thursday, spanned just short of nine hours and featured 42 fours, five sixes and - perhaps most impressively - came from just 304 balls, representing a strike rate of 104.93.
At that stage India were 481-2, still 59 behind, and although Rahul Dravid contributed a century, the hosts lost their last eight wickets for 146 runs to be bowled out for 627 - a lead of 87 - by tea.
In the process Dravid became the sixth batsman to pass 10,000 Test runs and, having required just 206 innings to reach the milestone, the third quickest behind Lara and Sachin Tendulkar.
Tendulkar missed out on the Chennai run feast, edging his fifth delivery - bowled by Ntini - low to Jacques Kallis at second slip after replacing Sehwag in the middle.
Dravid shared stands worth 45 with Sourav Ganguly (24) and 47 with VVS Laxman (39) before being fifth out for 111, again caught at slip by Kallis off Ntini (3-128).
And that dismissal opened the door for Dale Steyn to run through the lower order - dismissing MS Dhoni (16), Anil Kumble (3), Harbhajan Singh (0) and RP Singh (0) in the space of seven overs - to finish with figures of 4-103.
South Africa used the final session productively to reach 131-1 in their second innings, a lead of 39, although with just one day remaining the prospects of forcing a positive result lie somewhere between slim and none.
McKenzie finished unbeaten on 59 in the company of first-innings centurion Hashim Amla (35no).