Meteorologists warn of total destruction of thatched houses, the uprooting of power and communication poles, the "flooding of escape routes" and damage to crops in some areas, as the storm lashed coastal areas of Bangladesh and eastern India.
Normally bustling Kolkata was eerily quiet late Friday as one of the biggest cyclones to hit India in years bore down on the major city after leaving a trail of deadly destruction in its wake.
Cyclone Fani ("Snake" in Bengali) slammed into the eastern state of Odisha earlier in the day, reportedly killing at least eight people and one in Bangladesh, where it was headed after Kolkata, officials said.
At least eight people were killed, the Press Trust of India (PTI) reported, including a teenage boy, a woman hit by concrete debris and an elderly woman who suffered a heart attack in one of several thousand shelters packed with families.
Odisha disaster management official Prabhat Mahapatra said there were not yet any confirmed casualty figures.
"Around 160 people were injured in Puri alone. Our relief work is ongoing," he told said.
The monster weather system made landfall at the holy city of Puri in the morning, with winds gusting at up to 200 kilometres (125 miles) per hour.
In recent days authorities in Odisha state, where 10,000 people perished in a 1999 cyclone, evacuated more than a million people as they worried about a possible 1.5-metre (five-foot) storm surge sweeping far inland.
One man died of a heart attack in one of several thousand shelters set up, while another was killed by a falling tree on Friday, authorities said.
TRT World 's Reagan Des Vignes has more.
Authorities in Bangladesh, where Fani was headed, said a woman was killed by a tree, and that 14 villages were inundated as flood dams broke due to a tidal surge.
Disaster management spokesman Mohammad Jahir said that 400,000 people from Bangladeshi coastal villages have been taken to shelters.
Hundreds of thousands more people in India's West Bengal state have also been given orders to flee.
Local airports have been shut, while train lines and roads were closed.
"It just went dark and then suddenly we could barely see five metres in front of us," said one resident in Puri.
"There were the roadside food carts, store signs all flying by in the air," the man said from a hotel where he took shelter. "The wind is deafening."
Another witness said he saw a small car being blown along a street by the winds and then turned over.
After pounding Puri and Odisha state capital Bhubaneswar and heading northeastwards, losing strength as it goes, authorities were battling to remove fallen trees from roads and to restore phone and internet services.
On Saturday Fani was expected in West Bangal's capital Kolkata, a city home to 4.5 million people.
"We are monitoring the situation 24x7 and doing all it takes... Be alert, take care and stay safe for the next two days," West Bengal's chief Minister Mamata Banerjee tweeted.
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.
Meanwhile, a baby was born near Bhubaneswar just as the cyclone passed through.
"We are calling her Lady Fani as she was born when the hospital was hit," a spokesperson for the hospital told the Press Trust of India.
Meteorologists have warned of the "total destruction" of thatched houses, the uprooting of power and communication poles, the "flooding of escape routes" and damage to crops in some areas.
Some 3,000 shelters in schools and government buildings were set up to accommodate more than a million people in Odisha, with families including women and babies huddled on the floor.
Ports have been closed but the Indian Navy has sent six warships to the region while India's biggest oil and gas producer ONGC evacuated almost 500 workers from offshore rigs.
Measures were also being taken to protect the 850-year-old Jagannath temple in Puri, a Hindu holy town normally thronging with pilgrims.
AFP correspondents in the resort said it was a near ghost town with trees already torn down and water levels rising even before Fani's awesome arrival.
Electricity and water supplies were already cut for much of the city of 200,000 people.
Metal shutters covered store fronts and sand blew up the streets from the nearby beach.
Only a few police vehicles and tractors trying to pull trees or push aside collapsed walls could be seen.
Media reports said hundreds of trees were uprooted at the nearby Chilika Lake just south of Puri in the first violent winds.
"We will just stay for the day until the cyclone has passed. We are not scared but we feel safer here," said Krishna Chandra Sahu, 43, sheltering with seven members of his family in a hotel.
"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, said while battling surging waves to tie his boat to a tree.
"I am closing my stall early this evening and leaving it to its fate. It may get blown away today if the storm gets too strong," said Morium Akter, a tea stall owner by the river Rupsha in Khulna town.