The ruling comes only months before a general election and re-opening the case could damage Zuma's image at a crucial moment.
The Supreme Court of Appeals said in its judgment that a High Court judge made several errors in a September 12, 2008 ruling.
"The appeal is upheld with costs," judge of appeal Louis Harms said in delivering the court's judgment.
South Africa's rand currency weakened sharply after the ruling. The rand fell to an intra-day low of 9.98 against the dollar compared to 9.9195 before the ruling.
Monday's court ruling would be unlikely to stop Zuma being elected but could add to political uncertainty in Africa's biggest economy and strengthen the challenge from a new party of ANC dissidents called COPE (Congress of the People).
A High Court judge dismissed bribery, fraud and other charges against Zuma in September and suggested former President Thabo Mbeki had interfered in the case, an allegation he denied.
That judgement caused a political firestorm, leading to the ousting of Mbeki as president and deeply dividing the party. An anti-Zuma faction then formed COPE.
Zuma can still appeal to the appeals court ruling in the Constitutional Court–South Africa's highest court.