The Indian captain (111 batting) scored his 16th Test hundred in just over a session after Vijay (108) batted solidly in the company of Cheteshwar Pujara (83) to provide an ideal platform.
En route his ninth Test century, Vijay played 160 balls, hitting 12 boundaries and a lovely six down the ground off Shakib Al Hasan. The only glitch in his otherwise blemish-free innings was a near run-out possibility when he was on 35.
Each innings was special in its own way and the home team would like to bat the minnows out of the game with a gigantic first-innings total. The slowness of the pitch will make it difficult for the team batting second.
As far as Indian batting is concerned, if Vijay hit sublime pull shots, Kohli looked regal playing the drives on the up.
More From This Section
Such was Kohli's nonchalance that he merely celebrated after completing his hundred with a powerful whip off Mehedi Hasan Miraz through midwicket.
Poor Rabbi repeatedly bowled short and was hit for as many as 13 fours in the 91 runs that he conceded in 17 overs.
Once Vijay was bowled round the legs trying to play the sweep shot off left-arm spinner Taijul Islam (1/50), Kohli took it upon himself to literally 'manhandle' the Bangladesh bowlers.
The intensity and the urgency to score quickly was evident as India upped the ante in the second session that yielded 120 runs in 31 overs. The final passage of play was even better as India amassed 150 runs in 32 overs.