Cyclone Fani, one of the biggest to hit India in years, barrelled into Bangladesh on Saturday after leaving a trail of deadly destruction in India.
Eight people reportedly died in India and Bangladeshi police said nine perished even before the eye of the storm rumbled over the border in the morning.
Some 400,000 people have been taken to shelters, Bangladeshi officials told AFP.
Fourteen villages were inundated as a tidal surge breached flood dams. The dead included a minor in Barguna district on the coast and five others killed by lightening.
"We are mooring our boat because it's the only means of income for us. Only Allah knows when we can go back to fishing again," Akbar Ali, a fisherman near the town of Dacope in Bangladesh, told AFP while battling surging waves to tie his boat to a tree.
With the storm weakening but still packing a punch, winds of up to 70 kilometres (45 miles) per hour and heavy rain battered overnight and on Saturday morning the Indian state of West Bengal and its capital Kolkata, including the Sundarbans mangrove forest area.
"It's a total mess in islands of the Sunderbans as the cyclone has destroyed everything in its path, fuelling fears rivers could burst their banks and leave vast areas underwater," said Manturam Pakhira, Sunderbans affairs minister.
"Locals spent a sleepless night and many came out of their thatched huts and stood on the river banks measuring the level of the water," Pakhira said.
"Several homes have been flattened, roofs blown off, electric poles and trees toppled."
Several hundred thousand people were told to evacuate coastal areas of West Bengal before the arrival of Fani ("snake" in Bengali), with 5,000 leaving the low-lying areas and old, dilapidated buildings of Kolkata, home to 4.6 million people.
"Nearly a dozen people were trapped as an old building in the northern part of the city has collapsed," Kolkata's mayor Firhad Hakim said. "They have been rescued and shifted to a safer place."
Mamata Banerjee, West Bengal's chief minister and a key figure in India's ongoing mega-election, cancelled all political rallies and set up an improvised control room in a hotel in the path of the storm.
Kolkata's international airport was ordered closed. Train services were also halted.
Worst hit was the state of Odisha where Fani made landfall on Friday, packing winds gusting up to 200 kilometres (125 miles) an hour, sending coconut trees flying, knocking down power lines and cutting off water and telecommunications.
Eight people were killed in Odisha, the Press Trust of India (PTI) news agency reported, including a teenage boy crushed under a tree and a woman hit by concrete debris.
While not confirming any deaths, Odisha disaster management official Prabhat Mahapatra told AFP there were about 160 people injured in the Hindu pilgrimage city of Puri alone.
"It just went dark and then suddenly we could barely see five metres in front of us," said one Puri resident.
"There were roadside food carts, store signs all flying by in the air," the man told AFP. "The wind is deafening."
PTI reported that a construction crane collapsed and that a police booth was dragged 60 metres (yards) by the wind.
As Fani headed northeast, Odisha authorities battled to remove fallen trees and other debris strewn over roads and to restore phone and internet services.
Electricity pylons were down, tin roofs were ripped off and windows on many buildings were smashed.
Puri's famous 12th-century Jagannath temple escaped damage, however.
Gouranga Malick, 48, was solemnly picking up bricks after the small two-room house he shared with his six-strong family collapsed, its roof blown away.
"I have never witnessed this type of devastation in my lifetime," he told AFP.
"Energy infrastructure has been completely destroyed," Odisha's chief minister Naveen Patnaik said.
The winds were felt as far away as Mount Everest, with tents blown away at Camp 2 at 6,400 metres (21,000 feet) and Nepali authorities cautioning helicopters against flying.
Ports have been closed but the Indian Navy has sent warships to the region to help if needed. Hundreds of workers were taken off offshore oil rigs.