Cyclone Dineo killed seven people, injured 55 and affected hundreds of thousands across southern Mozambique, the country's natural disasters agency said Friday.
More than 20,000 homes were destroyed by "winds and very strong rain", the National Institute of Disaster Management said, adding that the search for survivors is ongoing.
The storm has affected more than 650,000 people in the southeastern African country.
Dineo's impact was greatest in Inhambane, an area popular with tourists on Mozambique's south east coast.
The city was struck by winds of more than 100 kilometres per hour (62 miles per hour) and battered by torrential rain and rough seas. Nearly 1,000 classrooms and 70 health centres were destroyed.
Mozambique, one of the world's poorest countries, is often battered by deadly flooding and storms.
In 2000, floods claimed at least 800 lives, and more than 100 were killed in 2015.
Scores have already died in the current rainy season, which began in October.
Dineo was downgraded to a tropical depression on Thursday and renamed "ex-Dineo".
The South Africa Weather Service warned that the storm still posed a threat of heavy rainfall and flooding as it headed inland into South Africa, Zimbabwe and Botswana Friday.
Kruger National Park, the country's premier safari destination, closed its gravel roads and several camps because of the storm. No major damage was reported.