Typhoon Haikui has slammed into eastern China’s Zhejiang province, with winds of up to 110 kilometres per hour.
It has triggered flooding and forced nearly two million people out of their homes, including residents in outlying areas of Shanghai.
There were no immediate reports of casualties.
Hundreds of domestic and international flights to and from Shanghai’s two airports, Hongqiao and Pudong, have been cancelled.
Train services have also been disrupted.
The centre of the typhoon is expected to move northwest by late evening on Wednesday, although wet and windy conditions are likely to remain.
It is the third typhoon to hit China in a week. The two others, which struck at the weekend, left 23 people dead.