Eloise weakened from a cyclone to a tropical storm after making landfall in central Mozambique on Saturday, but continued to dump rain on Zimbabwe, Eswatini - formerly known as Swaziland - South Africa and Botswana.
Six people were killed in Mozambique, the country's National Institute for Disaster Risk Management and Reduction (INGD) reported, while the number of displaced people rose to more than 8,000, with thousands of homes wrecked or flooded.
A five-year-old child was killed in South Africa's eastern Mpumalanga province after being swept away, said George Mthethwa, head of communications for the provincial department of cooperative governance and traditional affairs.
In neighboring Limpopo, fast-flowing rivers destroyed a makeshift bridge, leaving people hoping to cross stranded on either side. Others waded through the knee-high flood waters.
The death toll stood at two in Eswatini, according to police. Three people had been reported killed in Zimbabwe and one in Madagascar.