Bulbul, packing a maximum wind speed of 120kmh, is on course to make landfall near the Sundarbans, the world's largest mangrove forest, which straddles Bangladesh and part of eastern India and is home to the endangered Bengal tigers.
The cyclone is expected to hit the Bangladesh coast at around 8pm (1400 GMT), disaster management secretary Shah Kamal told AFP, adding there are plans to evacuate some 1.5 million people before that.
Authorities have suspended a nationwide school test, cancelled the holidays of officials posted in coastal districts and called off a traditional fair that draws tens of thousands of people in the Sundarbans.
Operations at the country's two major ports - Mongla and Chittagong -have been suspended, Kamal said.
Some 55,000 volunteers have been mobilised to go door to door and alert people about the storm.
Bangladesh's low-lying coast, home to 30 million people, is regularly battered by powerful cyclones that leave a trail of devastation in their wake.
Hundreds of thousands of people have been killed over the last few decades in cyclones, whose frequency and intensity have increased.
Bangladesh has, however, improved its preparedness in recent years, cutting the number casualties since Cyclone Sidr killed more than 3,000 people in 2007.
In May this year, Fani became the most powerful storm to hit the country in five years, but just over a dozen people were killed.