Tropical Storm Haiyan, which killed thousands as a typhoon in the Philippines, has made landfall in north Vietnam, near the China border.
It still carried gusts of up to 157km/h (98 mph) as it arrived close to the Ha Long Bay tourist destination.
Some 600,000 people have been evacuated from at-risk regions in Vietnam and at least six people have been killed.
China issued a typhoon alert for Hainan island, Guangdong and Guangxi after Haiyan’s path changed.
The typhoon has decreased markedly in strength from the Category Five storm that swept through the Philippines in a day, causing mass destruction.
It is now classified as a severe tropical storm.
By 21:00 GMT on Monday, as it heads into China, it will have become a tropical depression.
Rainfall will be the main hazard. A 48-hour accumulation of 100mm to 200mm is expected, with up to 400mm over high ground.
Widespread flooding is a possibility, including in Vietnam’s capital, Hanoi.
International Federation of Red Cross representative Francis Markus, who is is in Hanoi, told the BBC: “We need to be thankful that this storm system has weakened as it’s hit Vietnam.
“But at the same time we also can’t be complacent because having travelled over such a wide expanse of sea it’s picked up a huge amount of moisture and so we can expect very heavy rainfall with potential flooding and landslides and other dangers.”
A resident of Hanoi, Nguyen Thi Uyen, told AFP he had dashed to the supermarket to stock up.
“There was not much left on the shelves… people are worried, buying food to last them for a few days.”
There are reports of rising prices in the capital.
The country’s national TV channel, VTV, said heavy rain and floods triggered by Haiyan had already killed six people in central provinces.
Haiyan earlier swept over Vietnam’s Con Co island, 30km (18 miles) off the coast of central Quang Tri province.
“All 250 people on the island including residents and soldiers were evacuated to underground shelters where there is enough food for several days,” the Tuoi Tre newspaper said.
Boats have been ordered back to port along many coastal regions. Several hundred domestic and international flights have been cancelled. Schools have been closed for Monday in many parts of the north.
Vietnam’s flood and storm control department said: “We have evacuated more than 174,000 households, which is equivalent to more than 600,000 people.”
Some people have complained that the warnings have come too late.
In China, the Xinhua news agency reported that the National Meteorological Center had issued a red typhoon warning – the highest alert in its four-colour typhoon warning system.
Six people on board a cargo vessel were missing off the island province of Hainan, the news agency added.
More than 13,000 people were evacuated from the major tourist resort of Sanya on Hainan.
More than 200 flights at Hainan’s airports have been cancelled or delayed.
The typhoon passed by the south-western tip of Hainan as it headed for landfall on the Vietnam coast close to the China border, the Hong Kong Observatory’s typhoon tracker showed.
Xinhua also said that eight people had died after being swept out to sea in northern Taiwan by waves attributed to Typhoon Haiyan.
The typhoon killed up to 10,000 people in one area of the Philippines alone, with rescuers as yet unable to reach many other cut-off regions.
It brought sustained winds of 235km/h (147mph), with gusts of 275 km/h (170 mph), with waves as high as 15m (45ft), bringing up to 400mm (15.75 inches) of rain in places.
BBC