Sri Lanka posted the joint fourth-lowest total in one-day international history as South Africa claimed a crushing 258-run win in the opening contest of their 50-over series.
The tourists had been set a challenging target of 302 for victory at Paarl but were skittled for just 43 after 20.1 miserable overs.
It had looked at one point as if Sri Lanka would set a new record for the lowest ever ODI total when they slumped to 13-6, but some fleeting lower-order runs saved them from that particular humiliation.
Morne Morkel took 4-10 and Lonwabo Tsotsobe 3-19 as the hosts dominated the first clash in a five-match series.
The Proteas had batted first and built a healthy total of 301-8 thanks to a century from opener Hashim Amla, who was ably supported by Jacques Kallis (72) and AB de Villiers (52), while Lasith Malinga took a five-wicket haul.
Sri Lanka's problems then started with the second ball of their chase, when Upul Tharanga was caught by JP Duminy off Morkel without troubling the scorers.
Seven balls later it was 4-2 as Tillakaratne Dilshan also departed for a duck to give Tsotsobe his first wicket, with Dinesh Chandimal (four) falling to the same bowler soon afterwards.
The situation then became scarcely believable as Morkel had Kumar Sangakkara caught behind by de Villiers for four and Robin Peterson caught Angelo Mathews for a duck to leave the score on 9-5.
Mahela Jayawardene became Tsotsobe's third victim when he went for two, lofting a soft catch to Faf du Plessis with the scoreboard reading 13 - and when Nuwan Kulasekara was dismissed by Dale Steyn for six, Sri Lanka were on 24-7.
Nine more runs were added when Malinga (one) played across the line to a Peterson delivery, although Sri Lanka did keep going long enough to stagger past the lowest ever ODI total of 35, set by Zimbabwe in 2004.
An embarrassing total was inevitable, however, and the final wickets were mopped up when Kosala Kulasekara holed out to Peterson for 19 off the bowling of Morkel, who completed the victory by trapping Dilhara Fernando lbw for a duck.
Earlier, South Africa had themselves lost an early wicket after choosing to bat as Test captain Graeme Smith suffered another one-day failure.
Smith now has only one half-century in his last 14 ODI innings, this time falling for six when he edged a Malinga delivery into the gloves of Sangakkara behind the stumps.
But any hopes Sri Lanka had of taking an early advantage were soon dismissed as Amla and Kallis began to pile on the runs.
The pair added 144 for the second wicket before some poor running in the 29th over gifted the tourists a breakthrough as Kallis was run out by a Jayawardene strike from the covers.
But Amla then combined with De Villiers for another solid stand, with the opener bringing up his century, which he reached after facing 114 balls, in the 41st over.
De Villiers was dismissed for a quick-fire 52 in the same over, being caught out by a Yorker from Nuwan Kulasekara with the score on 244.
Albie Morkel made 25 from 21 balls but when he and Amla (112) fell in successive balls to Malinga, it triggered a collapse that saw South Africa lose five wickets for just 22 runs.
Duminy added just one before chipping a soft catch back to Ajantha Mendis, while Malinga removed Du Plessis (10) and Steyn (one) in the final over to finish with figures of 5-53..