Moderate temperatures are predicted over most parts of the country on Friday.
Most of the rain clears up as isolated morning showers are predicted for the Nelspruit region of Mpumalanga, and the Tzaneen region of Limpopo.
Minimum temperatures are expected to be cool to cold across the country with warm conditions along the East Coast.
The coldest place in South Africa is expected to be Sutherland in the Northern Cape, dropping to below freezing temperature at -1°C.
Maximum temperatures are expected to be warm across the central interior of the country with hot conditions along the northern border. Cooler conditions are expected along the southern coastline as well as parts of the Eastern Cape and the Free State.
The hottest place in South Africa will be Vredendal in the Western Cape, reaching a high of 33°C.
Pretoria is expected to experience a maximum of 24°C, while Johannesburg is expected to have a high of 22°C. A high of 21°C is predicted for Bloemfontein.
Along the coastal regions, Cape Town is expected to reach 27°C, Port Elizabeth 23°C and Durban 24°C.