Vijay was batting on 144 with Ajinkya Rahane on 55 at the first interval after the game began 30 minutes before the scheduled time to make up for Thursday's play being abandoned to rain.
Shikhar Dhawan made 173 before Shakib Al Hasan (2-78) belatedly broke through for the first wicket, ending India's opening partnership of 283; India's biggest-ever partnership against Bangladesh.
The hosts then claimed two further quick wickets before Vijay and Rahane restored India's dominance, adding an unbeaten 88 through to lunch.
With the second day washed out, India's batsmen showed some urgency to try to force a result from the four-day game, but suffered setbacks.
After removing Shikhar, Shakib made further inroads by hitting the off-stump of Rohit Sharma (6) who looked for an expensive drive through cover.
The big blow for India came when leg-spinner Jubair Hossain (1-85) dismissed captain Virat Kohli (14), with a googly, leaving India 310-3.
The unbeaten Vijay hit a dozen fours and one six in 264 balls while Rahane cracked seven boundaries in 55 off 69.
Nepal-Bangladesh Art and Culture Festival 2023 organized in Dha...