Mayank Agarwal struck his second double century in four Test matches as India took command of the first Test with Bangladesh at Indore.
Agarwal went into the second day unbeaten on 37 with little indication of the dominance he was about to exert on the tourists' bowling attack.
The opener became the second fastest player to two double hundreds as India piled on 407 runs to reach 493-6 in response to Bangladesh's first-innings 150 all out.
Agarwal, who was eventually dismissed for 243, has reached 200 twice in just 12 Test innings, doing so at a quicker pace than Don Bradman (13).
Only Vinod Kambli has scored a pair of double centuries in shorter time, having managed it in five innings.
Agarwal struck 28 fours and eight sixes – the most by an Indian in a Test innings – one of which brought up his 200 as he got down the track and launched Mehidy Hasan over long-on.
His incredible performance comes just over a month after he hit 215 in the first Test with South Africa.
Also see - India vs Bangladesh schedule 2019
Cheteshwar Pujara (54), Ajinkya Rahane (86) and Ravindra Jadeja (60) all reached half-centuries on a chastening day for Bangladesh, who had four members of their attack go for triple figures by the close.
Bangladesh may have had some hope of keeping themselves in the game when Abu Jayed – who took 4-108 – trapped India captain Virat Kohli lbw for a second-ball duck, Mominul Haque correctly deciding to review and leaving the hosts on 119-3.
However, Agarwal went on to form partnerships of 190 with Rahane and 123 with Jadeja to extinguish any lingering thought of a shock result for Bangladesh.
He was eventually caught at midwicket off the bowling of Mehidy Hasan Miraz, with the crowd rising to applaud another astonishing knock from the right-hander, who lasted 330 balls.
Thoughts will now turn to the prospect of an overnight declaration from Kohli, whose side are in a strong position to take a 1-0 lead in the two-match series.