India became the first Test team to record four centuries from the first four batsmen on Saturday when they reached 610 for three declared.
Wasim Jaffer was the first of the quartet to record a century for the visitors, retiring hurt on 138 through exhaustion on Friday's opening day.
Captain Rahul Dravid, opener Dinesh Karthik and Sachin Tendulkar then added hundreds of their own.
On eight previous occasions, Test sides have had their top three batsmen register centuries in an innings but no one had ever managed four until Saturday.
Tendulkar extended his world record tally to 37 centuries before Dravid declared an hour before close on the second day.
Paceman Zaheer Khan then rocked Bangladesh with three wickets in nine balls, including one with his first delivery, as the hosts ended the day tottering at 58-5.
Saqibul Hasan (30) and Mohammad Sharif (0) were at the crease with Bangladesh still needing 353 runs to avoid the follow-on.
Tendulkar was unbeaten on 122 after six hours in the middle in stifling conditions, joining Wasim Jaffer (138), Karthik (129) and Dravid (129) as the four century-makers for India.
It was Tendulkar's second hundred in the series following his 101 in the drawn first Test in Chittagong and moved him three clear of compatriot Sunil Gavaskar's previous record of 34 centuries.
Mahendra Dhoni cracked a quickfire 51 off 50 balls, studded with three boundaries and four sixes, to lift India past the 600-run mark and hasten Dravid's declaration.
India's total was the highest ever scored against Bangladesh, surpassing Australia's 581-4 at Chittagong in April last year.
Zaheer struck with the first ball when Bangladesh began their reply as Javed Omar edged a catch to Karthik at third slip.
New ball partner Rudra Pratap Singh had Bangladesh captain Habibul Bashar caught behind in the second over, before Zaheer bowled Shahriar Nafees and trapped Mohammad Ashraful leg-before off successive deliveries.
Left-handed Saqibul, playing only his second Test, prevented a hat-trick by driving Zaheer to the point boundary and added three more fours during his attractive knock.
Dravid, who started the day at 88 with India on 326-0, reached three-figures within the first 25 minutes of play.
He hit 15 boundaries and a six in his 24th Test hundred before he cut left-arm spinner Mohammad Rafique to Javed Omar at point 30 minutes before lunch.
It was Bangladesh's first success in the match after 108.2 overs in energy-sapping hot and humid weather.
On Friday, Wasim Jaffar and Karthik had put on 175 for the first wicket before both batsmen retired hurt with severe cramps and dehydration.
Karthik, who returned to bat at the fall of Dravid's wicket, reached his maiden Test century off the last ball before lunch.
The Tamil Nadu youngster, who turns 22 on June 1 and is playing his 13th match, finally fell midway through the afternoon session when he skied a pull off seamer Mashrafe Mortaza to mid-wicket.
Saurav Ganguly, who hit a century in the previous match, was the only batsman to fall cheaply when he was caught behind off Rafique for 15.
The first Test in Chittagong ended in a draw earlier this week after 15 of the scheduled 30 hours of play were lost due to bad weather.
Scoreboard
INDIA (1st Innings, overnight 326-0):
K.D. Karthik c Habibul b Mashrafe 129
Wasim Jaffer retired hurt 138
R. Dravid c Javed Omar b Rafique 129
S.R. Tendulkar not out 122
S.C. Ganguly c Saleh b Rafique 15
M.S. Dhoni not out 51
EXTRAS (B-7, LB-7, W-5, NB-7) 26
TOTAL (for three decl, 153 overs) 610
FALL OF WKTS: 1-408, 2-493, 3-525.
DID NOT BAT: R.R. Powar, Zaheer Khan, A. Kumble, R.P. Singh, I. Sharma.
BOWLING: Mashrafe Mortaza 31.4-4-100-1 (1nb, 4w); Syed Rasel 23.4-0-109-0 (1nb); Mohammad Sharif 25.4-2-109-0 (1nb, 1w); Mohammad Rafique 45-4-181-2 (3nb); Saqibul Hasan 19-1-62-0 (1nb); Mohammad Ashraful 8-0-35-0.
NOTE: Karthik retired hurt at 175-0 and resumed at 406-1; Wasim Jaffer retired hurt at 281-0.
BANGLADESH (1st innings):
Javed Omar c Karthik b Zaheer 0
Shahriar Nafees b Zaheer 2
Habibul Bashar c Dhoni b Singh 4
Rajin Saleh c Jaffer b Kumble 20
Mohammad Ashraful lbw b Zaheer 0
Saqibul Hasan not out 30
Mohammad Sharif not out 0
EXTRAS (LB-1, NB-1) 2
TOTAL (for five wkts, 16 overs) 58
FALL OF WKTS: 1-0, 2-5, 3-7, 4-7, 5-40.
TO BAT: Khaled Mashud, Mashrafe Mortaza, Mohammad Rafique, Syed Rasel.
BOWLING (to-date): Zaheer Khan 5-1-20-3; R.P. Singh 5-0-19-1; Kumble 3-1-13-1; Sharma 3-1-5-0 (1nb).—Agencies