After a five-and-a-half-hour cabinet meeting he said measures recommended by a special task force would be implemented to ensure a credible and peaceful poll in June.
The conservative Zulu chief, Mangosuthu Buthelezi, whose Inkatha Freedom Party is expected to win control of most local councils in the violence-plagued Zulu homeland province, said he backed the decision reluctantly.
"We are just hoping that this will have a calming effect and that we are not unleashing forces which we cannot control," Mr Buthelezi said.
More than 14,000 people have died in a decade of fighting between supporters of his Inkatha Freedom Party and President Nelson Mandela's African National Congress.
Mr Mandela called the extraordinary cabinet meeting after the investigation by his all-party task force into political violence and alleged electoral fraud failed to agree on a recommendation as to whether the election should proceed.
Mr Buthelezi, who had threatened to quit Mr Mandela's transitional government of national unity if the vote was postponed, said he would stay on as Minister of Home Affairs.
He said he and Inkatha's secretary-general, Ziba Jiyane, had opposed the proposal, but accepted the final decision.
Mr Mandela's majority ANC said rising levels of violence precluded a free and fair election on 29 May. They wanted the poll, first scheduled for last November, to be postponed.
In the latest round of violence, one person died and three policemen were wounded in a gun battle between police and Zulu protesters in Durban on Saturday.
The IFP said the ANC was staring defeat in the face in KwaZulu-Natal and was simply trying to stall.