Rookie off-spinner Maheesh Theekshana ripped through South Africa as Sri Lanka won the third one-day international by 78 runs to clinch the three-match series 2-1 in Colombo on Tuesday.
The Proteas lost four wickets within the first 10 overs while chasing a modest 204 victory target, eventually getting bowled out for 125 in 30 overs.
The early damage was done by Lankan seamer Dushmantha Chameera, who accounted for Reeza Hendricks (1) and Rassie van der Dussen (5) before spinners Theekshana (4-37) and Wanindu Hasaranga (2-32) brought a swift end to the South African reply.
Earlier, Sri Lanka chose to bat and were reduced to 93-4 at one stage before being rescued by gritty knocks from Dhananjaya de Silva (31 off 44) and Charith Asalanka (47 off 71). Chameera's late flourish of 29 helped them get pass 200.
Proteas skipper Keshav Maharaj picked up 3-38, while fellow left-arm spinner Tabraiz Shamsi (2-31) was also among the wickets.
The two sides now face off in a three-match Twenty20 series that starts in Colombo on Friday.