Zuma had lodged a challenge at the court in Bloemfontein after a lower court decided in 2016 to reinstate the charges that were previously discontinued by prosecutors.
"The reasons for discontinuing the prosecution given...do not bear scrutiny," said Supreme Court judge Eric Leach who read the ruling.
The opposition Democratic Alliance party had sought in 12 court appearances since 2009 to reactivate the charges over controversial post-apartheid military contracts which have dogged Zuma for much of his time in government.
The president, who is accused of corruption, fraud, money-laundering and racketeering, has always insisted he is innocent.
Zuma and other government officials were accused of taking kickbacks from the USD 5 billion (4.2 billion euros) purchase of fighter jets, patrol boats and other arms manufactured by five European firms, including British military equipment maker BAE Systems and French company Thales.
Charges were first brought against Zuma in 2005 but dropped by prosecutors in 2009.