Two people were reported dead Wednesday as coronavirus-hit Mumbai appeared to escape the worst of Cyclone Nisarga, the first severe storm to threaten India's financial capital in more than 70 years.
The cyclone ripped roofs off buildings in nearby coastal towns, but Mumbai remained largely unscathed.
The city and its surrounds are usually sheltered from cyclones - the last deadly storm to hit the city was in 1948 - but authorities evacuated at least 100 000 people, including coronavirus patients, from flood-prone areas in the states of Maharashtra and Gujarat.
Both of the reported deaths occurred in Maharashtra: one man died after an electric pole fell on him and a woman was killed after a wall collapsed, local media said.
The storm made landfall near the coastal town of Alibag, around 100 kilometres south of Mumbai, on Wednesday afternoon, meteorologists said.
It then crossed Maharashtra's coast, with its path veering to the east of Mumbai and gradually weakened by Wednesday evening, they added.
The cyclone brought heavy rainfall - with winds of 100-110 km/h and gusts of up to 120 km/h.
Mumbai experienced downpours throughout the afternoon, with strong winds toppling trees in some cases. City authorities said there were no reports of injuries or deaths, though the rains caused compound walls to collapse in some neighbourhoods.
The beach town of Alibag fared worse, with the cyclone tearing roofs off homes and overturning mobile food stalls.
A 45-year-old professor who evacuated from his house near the sea told AFP he could see corrugated roofing flying through the air as Nisarga's powerful winds struck.
"The intensity is very strong and nothing like weather events we've seen before," said Milind Dhodre, who lives in Alibag with his wife and son.
The coastal town is a favoured haunt of Bollywood stars and industrialists, who own holiday homes there.
The port city of Pen also suffered damage, with one video showing a ripped off metal roof smashing into nearby buildings.
In Mumbai, police announced fresh restrictions on the city of 18 million people - which was just beginning to emerge from a months-long lockdown -- banning gatherings of four people or more until Thursday afternoon.
India's worst-hit city, Mumbai is home to a fifth of the country's more than 200 000 coronavirus cases.
The storm evacuees included nearly 150 coronavirus patients from a recently built field hospital in Mumbai, underscoring the difficulties facing the city ahead of the monsoon season as it struggles to contain the pandemic.
"Refrain from venturing out to coast-beaches, promenade, parks and other similar places along the coastline," the police tweeted early Wednesday.
"Do not leave your house for your own safety and well-being," Maharashtra Chief Minister Uddhav Thackeray tweeted late Tuesday, warning of possible disruptions to the power supply due to heavy rainfall.
Warnings of storm surges up to two metres high remained in effect on Wednesday, with slum-dwellers in low-lying areas of Mumbai instructed to move to higher ground.