Virat Kohli smashed his fourth double century, and Wriddhiman Saha struck his second test ton to help India tighten their grip on the game in a one-off test against Bangladesh in Hyderabad.
Bangladesh finished day two on 41 for one in reply to India's huge first innings total of 687-6 declared, which it racked up in just five sessions.
Tamim Iqbal was batting on 24 at stumps and Mominul Haque was on one with the tourists still 646 behind at Hyderabad's Rajiv Gandhi International Stadium.
Earlier, five of India's top six batsmen registered 80-plus scores as the hosts became the first team to post 600-plus totals in three consecutive tests.
Skipper Kohli led by example, hitting 204 to follow his double centuries against West Indies, New Zealand and England in the last seven months.
Kohli had completed his century on Thursday, and the 28-year-old looked unstoppable as he added 222 runs with Ajinkya Rahane after India resumed on 356-3.
Kohli reached 150 off 170 balls and was supported by Rahane who returned from a finger injury to hit 82 before being dismissed by Taijul Islam.
The India captain was adjudged leg-before to off-spinner Mehedi Hasan when on 180, but he called for a review of the decision and had it overturned after replays suggested the ball would have missed the stumps.
The right-hander brought up his double hundred with his 24th boundary but fell leg before to Taijul (3-121) attempting a late cut.
Ravichandran Ashwin was dismissed for 34 but Saha went on to make 106 not out, clobbering his second six to reach his hundred in style.
Ravindra Jadeja made 60 not out and had raised 118 runs with Saha when Kohli called them in.
Bangladesh lost Soumya Sarkar (15) shortly before stumps after India reviewed the original not-out decision to get the opener dismissed caught-behind off Umesh Yadav's bowling.