Mumbai has escaped the brunt of a cyclone after winds changed direction and the storm made landfall further south on India's western coast than expected, giving some respite to a metropolis already ravaged by coronavirus infections.

Cyclone Nisarga was initially forecast to be the first to batter Mumbai since 1948, prompting its 18 million citizens to stay off the streets and secure their homes against gale-force winds and torrential rain.

"It landed a little (further) south than what we predicted. But Mumbai may experience bad weather until tomorrow," Madhavan Rajeevan, secretary at the Ministry of Earth Sciences, said.

The cyclone barrelled into the western coast around 100 kilometres south of India's financial capital with winds gusting up to 120 kmh (75 mph), the India Meteorological Department said.

After landfall, the cyclone headed in a north-easterly direction, the IMD said.

A witness in the town where the storm made landfall said the area was pummelled with heavy rain and strong winds.

Local media reported a few dozen incidents of trees being uprooted and vehicles damaged. But there were no immediate reports of casualties or major damage.

Strong crosswinds forced Mumbai airport to suspend arrivals and departures between 2:30 p.m. and 7:30 p.m, after an arriving cargo plane overran the runway. There were no reported injuries from the incident.

Mumbai's normally full roads were nearly empty as the rain began ahead of Cyclone Negrada

Authorities had yesterday moved thousands of people away from coastal areas in the vicinity of Mumbai amid fears that the city, already hard hit by Covid-19 infections, could see its healthcare system further overwhelmed.

More than 100,000 other people were evacuated from the western states of Maharashtra and Gujarat.

India's largest container port, Jawaharlal Nehru Port Trust (JNPT), on Mumbai's outskirts, said it had closed for 24 hours.

Cyclones often skirt Mumbai, though every year during the June-September monsoon season torrential rains flood roads and halt a suburban railway service that serves millions.

Mumbai emergency services are struggling with the nation's largest outbreak of Covid-19 cases. The city and its surrounding areas have so far reported roughly 55,000 infections and more than 1,700 deaths from the respiratory disease.