The 75-year-old’s resignation caps the end of a tumultuous decade in which he has survived several no-confidence votes in parliament, a string of corruption allegations and street protests against his rule.
The announcement eventually came in a televised address to the nation.
Mr Zuma said no leader should stay beyond the time determined by the people they serve.
But in his 30-minute farewell speech to the nation, he made it clear he disagreed with the way the ANC had pushed him towards an early exit after the election of Cyril Ramaphosa as party president in December.
He said: “I must accept that if my party wished that I be removed from office they must exercise that right and do so in the manner prescribed by the constitution.”