"It is likely to move in a northeasterly direction" and "weaken gradually, and may complete crossing West Bengal-Khulna coast by midnight tonight," the department said. Airports and ports were shut down and the deaths were reported before the full force of the cyclone had hit.
One person was killed by an uprooted tree in Kolkata and another by a wall that collapsed under the force of the winds in Odisha state, authorities said.
More than 60,000 people were moved away from the coast on the Indian side of the border. Bangladesh disaster management secretary Shah Kamal told AFP that "2.028 million" have been evacuated and moved to more than 5,500 cyclone shelters.
He said there was no reports of casualties and rejected reports in local media that dozens of local fishermen were missing on the southern coast. Bangladeshi troops were sent to some villages, while about 55,000 volunteers went door-to-door and making loudspeaker announcements in the streets to get people away from the danger zone in villages, many of which were below sea level.
A storm surge up to two metres (seven feet) was predicted along the coast, Bangladesh's Meteorological Department said.
About 1,500 tourists were stranded on the southern island of Saint Martin after boat services were suspended due to bad weather.
Bangladesh's two biggest ports, Mongla and Chittagong, were closed because of the storm, and flights into Chittagong airport were halted.
In India, flights in and out of Kolkata airport were suspended for 12 hours because of the storm.
On the West Bengal island of Mousouni, which lies in the path of the storm, frightened residents took shelter in schools and government buildings because they had not been able to escape.
Military planes and ships have been put on standby to help in emergencies, Indian authorities said.
Bulbul hit the coast at the Sundarbans, the world's largest mangrove forest, which straddles Bangladesh and part of eastern India, and is home to endangered species including the Bengal tiger and the Irrawaddy dolphins.
Bangladesh's low-lying coast, home to 30 million people, is regularly battered by cyclones that leave a trail of destruction. Hundreds of thousands of people have been killed in cyclones in recent decades.