"I can confirm two deaths for now. One old man in one of the shelters died because of [a] heart attack. Another person went out in the storm despite our warnings and died because a tree fell on him," Odisha state special relief commissioner Bishnupada Sethi told AFP news agency on Friday.
Having spent days building up power in the northern reaches of the Bay of Bengal, tropical Cyclone Fani struck the coast of Odisha state at around 8am local time (02:30 GMT) on Friday, the state-run India Meteorological Department (IMD) said.
The state evacuated more than a million people from the most vulnerable communities along the low-lying coast during the past 24 hours, Chief Minister Naveen Patnaik said on Twitter.
Close to 60km inland, high winds uprooted trees and electricity poles in the state capital, Bhubaneswar, where authorities had ordered the airport to stay closed. Schools and colleges in Odisha were also shut.
Hundreds of disaster management personnel were deployed in the state. Doctors and other medical staff were told to defer any leave until May 15.
Neighbouring West Bengal also decided to close an airport at Kolkata, the state capital. Hundreds of thousands of people had been given evacuation orders in the state.
"We are not able to know what's happening outside. There's darkness everywhere," Jyotirmayee Panda, a resident of Puri in Odisha, told Al Jazeera.
"We can only hear the sound caused by roofs being blown away and poles and trees hitting the ground. That is quite scary. The wind is picking up speed and water is now entering our homes.
We are unable to cook and just god will save us."
Thousands of people fleeing the cyclone are faced with a long wait at the railway stations. More than 200 trains have been cancelled along coastal routes, according to the Indian Railways.
"We don't know how long we have to wait here. We were not prepared for this kind of situation.
We need food and a safe shelter," said Deepak Mohanty, a passenger at Bhubaneswar railway station.
Three special trains were put in service to ferry pilgrims and tourists from Puri
Some 3,000 shelters have been set up in schools and government buildings to accommodate more than a million people. More than 100,000 dry food packets are ready to be dropped if needed, reports said.
Jajati Karan, a journalist based in Odisha, told Al Jazeera that the cyclone had already caused major destruction in the coastal areas.
"Odisha is a cyclone-prone area. But no casualties have been reported so far because of the preparations carried out by the government," said Karan, talking about the state with a population of 45 million.
Meanwhile, West Bengal also braced for the storm.
"We have heard that the cyclone has turned towards [West] Bengal and it will also hit Kolkata. But people should not panic unnecessarily. All precautionary steps are being taken to prevent any loss of life," Kolkata Mayor Firhad Hakim told reporters.
The IMD predicted Fani will reach Bangladesh on Saturday and gradually weaken.
India's cyclone season can last from April to December, when severe storms batter coastal cities and cause widespread deaths and damage to crops and property in both India and neighbouring Bangladesh.
Technological advancements have helped meteorologists to predict weather patterns well in advance, and authorities have become far better at preparing for the ferocious storms and reducing casualties.
A super-cyclone battered the coast of Odisha for 30 hours in 1999, killing about 10,000 people. In 2013, a mass evacuation of nearly a million people likely saved thousands of lives.