President Cyril Ramaphosa on Sunday said South African would close its borders from Wednesday to all foreigners from countries highly impacted by the coronavirus pandemic.
Visas will be refused to anyone who has visited a high-risk country in the last 20 days, and 35 of the country's 53 land ports will also be shut as of Monday.
"We are imposing a travel ban on foreign nationals from high-risk countries such as Italy, Iran, South Korea, Spain, Germany, the United States, the United Kingdom and China from 18 March 2020," Ramaphosa said in an address to the nation.
The president also announced the closure of schools for around three weeks from Wednesday.
Public gatherings of more than 100 people will be been banned and mass celebrations cancelled to limit contact.
"Given the scale and the speed at which the virus is spreading, it is now clear that no country is immune from the disease or will be spared its severe impact," said Ramaphosa, who declared a "national state of disaster".
More From This Section
To date 61 people in South Africa have tested positive for novel coronavirus -- the second-highest number of cases in Africa after Egypt, which has reported 110 so far.
The number of infections more than doubled over the weekend with 37 new cases announced.
Around 50 of South Africa's coronavirus patients had recently travelled abroad.