Herschelle Gibbs smashed a quickfire century to steer South Africa to a series-clinching eight-wicket win over Zimbabwe on Saturday.
Gibbs scored 111 off 100 balls to help South Africa overhaul Zimbabwe's total of 247 for seven and secure a 2-0 lead in the three-match series.
Gibbs shared an 174-run opening stand with captain and fellow opener Graeme Smith (96) as the visitors finished on 251 for two with more than 10 overs to spare.
The flamboyant Gibbs began his innings indifferently but was soon piling on the misery, hitting 16 fours and two sixes in his 17th one-day century.
He moved from 85 to 102 in one over when he hammered off-spinner Prosper Utseya for 17 runs.
Gibbs was dismissed with just two runs needed when he heaved a ball from slow left-armer Sean Williams to midwicket, where Utseya took the catch.
Zimbabwe batted cautiously in the first half of their innings before Williams and Stuart Matsikenyeri picked up the scoring rate with a bustling stand of 84 for the fifth wicket.
Medium pacer Shaun Pollock bowled immaculately for his return of nought for 25 from 10 overs.
Fast bowler Dale Steyn was expensive but his slower ball proved effective and he took three wickets.
South Africa's Loots Bosman was carried off on a stretcher and taken to hospital for x-rays after he dived into the boundary boards while attempting to take a catch.
South Africa won the first match of the series by five wickets in Bulawayo.
The last match will be played in Harare on Sunday.