Quinton de Kock tied a one-day international record as South Africa beat Zimbabwe by 61 runs on Tuesday to take a 2-0 lead in the three-match series.
The 21-year-old wicketkeeper-opening batsman made 38 to equal the mark of England's Jonathan Trott in reaching the landmark of 1,000 runs in only 21 one-day games.
Faf du Plessis top-scored with 55 as South Africa were bowled out for 257 in 49.4 overs after being put in to bat.
It was only the third time in 34 ODI meetings that Zimbabwe had bowled out their southern African rivals.
Out-of-form South Africa captain AB de Villiers was involved in a bizarre dismissal.
He missed a delivery from spinner Prosper Utseya and, in the mistaken belief that Richmond Mutumbami did the same, set off for a single only for the bemused wicketkeeper to run him out for one.
SCORES IN BRIEF
SOUTH AFRICA: 257 all out in 49.4 overs (De Kock 38, Du Plessis 55, Duminy 36, Miller 45, Parnell 24, Abbott 23; Vitori 2-57, Utseya 2-39, Nyumbu 2-44, Williams 2-37)
ZIMBABWE: 196 all out in 49.1 overs (Williams 55, Madziva 25, Nyumbu 18, Vitori 20 not out; Parnell 3-28, McLaren 3-21, Tahir 2-26)
Result: South Africa won by 61 runs and lead the 3-match series 2-0.
Player-of-the-match: Wayne Parnell.