Thousands of South African council workers went on strike on Monday to press for wage hikes, disrupting public services in Africa's biggest economy and piling political pressure on new President Jacob Zuma.
The strike by public transport workers, rubbish collectors and licensing officers among others, follows days of violent protests by residents of impoverished townships who have complained about lack of healthcare, water and electricity.
Hundreds of passengers were stranded in Johannesburg's central business district as bus services ground to a halt.
About 5,000 council workers, many wielding sticks, clubs and wearing T-shirts that pronounced "fighting for survival", marched in the city, singing ANC revolutionary songs and blowing plastic trumpets.
Police officers, some on horseback, kept watch over the strikers from a distance. Some workers overturned refuse containers, leaving litter strewn on the streets. Shops and businesses locked their doors as the marchers approached.
Similar marches took place in Pretoria and Cape Town and national broadcaster SABC said police fired teargas to disperse rowdy crowds in the northern city of Polokwane, arresting several people.