Dozens of people were killed after South African police opened fire on hundreds of workers on a wildcat strike at a platinum mine, in the deadliest day of protest since apartheid.

Police gave a toll of 30 and rising, while the powerful National Union of Mineworkers said 36 had died in clashes at the Marikana mine broadcast repeatedly on national television.

A force of mostly black officers in bulletproof vests, some on horseback, fired at a crowd of black workers armed with spears, clubs and machetes, with some gunfire heard from the workers' camp as well.

Police said the workers were advancing on them with guns and machetes.

"The police were directing (unrolling) the barbed wire ... when people had guns, and people were advancing as I say, with their pangas (machetes) and everything else including firearms," police minister Nathi Mthethwa said, putting the death toll at more than 30.

"A lot of people were injured and the number keeps on going up," he told local radio.

"This was not supposed to happen, and we have always emphasised this thing that we have laws in this country which allows people to apply for strike, for marching, for demonstration, and we still think people should not ignore the pillars of the land," he said, his voice cracking.

NUM secretary general Frans Baleni put the toll at 36 and blamed the unrest on the radical Association of Mineworkers and Cromises which can never be delivered, and in the process organised an illegal action which was violent and which led to a loss of lives," he told local radio.

The wildcat strike started on August 10 as about 3,000 workers demanded that London-listed Lonmin triple their wages from the current monthly salary of about 4,000 rand ($486, 400 euros).

Ten people, including two police, were killed as the strike degenerated into clashes between the unions -- with several victims violently hacked to death.

But Thursday's violence shocked even this nation accustomed to frequent strikes and gruesome crime. Local media already dubbed the incident the "Marikana massacre", evoking memories of the 1960 Sharpeville massacre when 69 people were killed as apartheid police gunned down blacks protesting minority rule.

The South African Institute of Race Relations said the strike is the deadliest since a three-month stayaway by security guards in 2006, when 60 non-strikers were killed, mainly thrown from moving trains.

But South Africa hasn't seen such deadly police action since 1985, when more than 20 people were shot dead by apartheid police who put down a protest by blacks outside Cape Town -- on the 25th anniversary of the Sharpeville massacre, the Institute said.

After that killing, police reformed their crowd control measures, skills that now appear to have been lost, said the Institute's research manager Lucy Holborn.

"In a crowd control situation, police shouldn't be armed with live ammunition," she told AFP.

"It comes down to inadequate training, to too few police dealing with too many people, without adequate protection like shields."

Local media denounced the "killing field" at Marikana in banner headlines.

For workers around Marikana, democracy has brought few tangible gains to their lives, with many still living in shacks near the shafts.

Low platinum prices have already forced companies to close several mines since June, fueling fears among workers over their job security, said labour analyst Daniel Silke.

The violence also points "to a heated political atmosphere in South Africa that is playing itself out on the ground within the unions," Silke said.

NUM is one of South Africa's most powerful unions, having produced several top leaders in the ruling African National Congress, including the party's secretary general Gwede Mantashe and Deputy President Kgalema Motlanthe.

Leaders in both the ANC and the broader labour movement are battling for their political futures this year as the ruling party heads to its elective conference in December, where President Jacob Zuma is seeking a second term.