Mumbai: Virender Sehwag's astonishing unbeaten 284 took India to 443-1 in reply to Sri Lanka's 393 after just two days of the final Test at the Brabourne Stadium.
Sehwag scored his runs off 239 balls. It was the second fastest double ton in Test history, and the fastest 250.
Only Sri Lanka's slow over-rate stopped him having a stab at Don Bradman's record haul in a day's play, 309.
But he remains on course to be the first man ever to hit three triple centuries in Test cricket.
By scoring 16 more runs on Friday, he would go ahead of Bradman and West Indian Brian Lara (who each have two) and almost certainly break his own record for the fewest balls faced to register a Test triple century.
Although the day began with Sri Lanka on 366-8, India from 79 overs recorded their best ever score from a single day's play, and that was all down to the remarkable batting of the Delhi-born 31-year-old. Sehwag now has five of the fastest nine double hundreds in Test history, and has scored six in total.
With Sri Lanka captain Kumar Sangakkara tending to post fielders in his scoring areas on the leg-side, he showed some remarkably inventive hitting through the off-side.
Reverse-sweeps and paddles were picked off with ease, as were a succession of delightful late cuts and drives lofted over extra cover as he backed away to the leg-side.
There were 40 boundaries and seven sixes, including some no-nonsense smacks straight down the ground and over midwicket though he never really forced the ball, using exquisite timing and balance to keep the fielders scurrying about in vain.
He was dropped just once, by Mahela Jayawardene at slip off Tillakaratne Dilshan, by which time he had already amassed 273.
Vijay, playing his only second Test after making his debut in November, 2008 against Australia at Nagpur, played the perfect foil to his senior and more aggressive partner while also playing some magnificent drives before departing for 87 with 40 minutes left for tea.
Vijay, who was let off when on 67, struck 10 fours and a six off Muttiah Muralitharan in his 121-ball knock, tried to sweep a Rangana Herath delivery, missed it and was caught plumb in front.
After his dismissal on 221 in the 40th over, India raced to 260 for one at the tea break with Sehwag unbeaten on 151, off only 131 balls and inclusive of five sixes and 19 fours.
Brief scores
Sri Lanka: 393 (Dilshan 109, Mathews 99, Harbhajan 4-112, Ojha 3-101)
India: 443 for 1 (Sehwag 284*, Vijay 87, Hareth 1-112)
Status: India lead 50-runs