At least one person died after Cyclone Nisarga struck India's west coast near the densely populated city of Mumbai.
The eye of the storm narrowly missed the city, while nearby coastal areas to the south bore the brunt. The extent of the damage is still being assessed.
Officials moved tens of thousands of people along the coast to higher ground as the storm approached.
India's most populous city has 20 million residents and has also been badly hit by the coronavirus pandemic.
Mobile phone footage of the storm in Raigad, about 50km (30 miles) south of Mumbai, showed huge waves crashing into the shore, with trees being whipped into a frenzy by the strong winds.
There were warnings Nisarga may trigger big storm surges. Images showed it ripped tin roofs off buildings.
The man who died in Raigad district was hit by a toppling power transformer and died before doctors could get to him, the Press Trust of India reported. Eight others were injured.
However, in Mumbai, things were a little calmer.
"Winds have been stronger than what we've seen before, but the rain is a lot less than a bad monsoon day," reported the BBC's Yogita Limaye in the city.
Packing winds of more than 100km/h, Cyclone Nisarga intensified on its approach from the hot waters of the Arabian Sea.
It began making landfall at about 13:00 local time (07:30GMT) around Alibaug in Raigad district. The area is a favourite weekend destination for many, and often touted as "the Hamptons" of Maharashtra.
Gujarat state was also in Nisarga's path as it proceeds north-east. It will dump huge amounts of rainfall across a swathe of India before it reaches the Himalayas at Nepal.
Earlier, BBC Marathi's Janhavee Moole described how all beaches in Mumbai were closed to the public and police were telling people to stay indoors.
"Do not leave your house for your own safety and well-being," Maharashtra Chief Minister Uddhav Thackeray had tweeted.
Early on Wednesday, the Indian Meteorological Department said the cyclone had intensified into a "severe cyclonic storm".
The fact the storm damage does not appear to be severe will come as a relief to Mumbai, the city worst affected by the coronavirus crisis in India.
It has so far confirmed more than 40,000 confirmed virus cases, and almost 1,400 deaths.
The tens of thousands of people evacuated before the cyclone included 150 patients from a recently-built Covid-19 field hospital.
The local government said people living in flimsy homes near the shore were being moved. The coast guard said it had taken 109 fishermen in 18 boats to safety.
The government urged people to secure their homes, prepare an emergency kit, and keep documents and valuables in water-proof containers.
Unlike India's eastern coast, cyclones are unusual on the country's western shore. Nisarga comes barely two weeks after Cyclone Amphan struck, devastating parts of Kolkata (formerly Calcutta) on the east coast.
More than 100 people were killed in the Indian states of West Bengal and Orissa, as well as neighbouring Bangladesh.
Basically India dodged a bullet right there. Mumbai is a city of over 20 million, and it is estimated that if the cyclone had hit, it would have become the disaster of the decade. Due to the development of India and dense population of Mumbai, along with the coronavirus lockdown, it would’ve been one of the deadliest disasters in years.
So, what is your opinion?
I think this is a huge sigh of relief, as if we needed more shit in 2020. While the cyclone has hit some sparsely populated areas in the North, the most vulnerable target was saved. It’s surprising the Western media barely covered such a huge event, which was on track to potentially have become a massive disaster.