Twenty people were arrested in a protest over poor service delivery at Thembelihle, near Lenasia, south of Joburg on Monday morning, Gauteng police said.
The residents of the informal settlement would be charged with public violence and malicious damage to property, Lieutenant-Colonel Katlego Mogale said.
Earlier, police fired rubber bullets to stop residents from throwing stones at them. Captain Hector Netshivhodza said three cars and a traffic light were damaged by stones. No injuries were reported. About 300 people blocked Klipspruit Valley Road with burning tyres from 3am.
Johannesburg metro police spokesman Wayne Minnaar said Klipspruit Valley Road was blocked off between Volta Street in Thembelihle and Bangalore Drive in Lenasia.
He recommended the Golden Highway as an alternative route.