More than 25,000 African National Congress supporters crammed into the King Goodwill Zwelethini Stadium south of Durban to hear President Nelson Mandela speak and to celebrate the holiday, once banned by the white-led government, that honours labourers.
Shots rang out during the President's speech. Police believe they came from a workers' hostel dominated by the Inkatha Freedom Party.
According to the police, five people were injured and two killed, including a youth who was shot in the head.
President Mandela was escorted from the rally in an armoured car. "I don't think he himself was scared but lots of shots were fired so we took him away," a policeman said.
Elsewhere in the world workers marked May Day with angry protests against the erosion of living standards and dignity by the harsh economic austerity programmes of post-Cold War political leaders.
"With the conflict between socialism and capitalism now over, new dangers are threatening the world of labour,'' Pope John Paul told 60,000 Italians gathered in St Peter's Square in Rome.
In the former Soviet Union, workers nostalgic for the strong hand of dictators marched in Moscow, St Petersburg, Vladivostok and Kiev. Two Moscow rallies attracted 19,000 people, who gathered at statues of Karl Marx and Lenin. Many carried banners bearing Stalin's portrait.
In Turkey, police expecting a protest rally in Istanbul against austerity measures mounted a huge security operation to try to prevent bloodshed.
Sri Lanka called off most parades after attacks by rebels fighting for the creation of a separate Tamil homeland. The ruling People's Alliance held a simple rally as a mark of respect for 94 people killed last week when two air force planes were shot down.