The dominant home side, playing in a changed pink kit in aid of breast cancer awareness, eased to victory with a full 18 overs to spare as De Villiers led the way with 60 from 61 balls.
AB de Villiers struck an unbeaten half-century to steer South Africa to a series-winning seven wicket victory over Sri Lanka in the third one-day international at The Wanderers on Saturday.
In a game that was delayed for over an hour by a swarm of bees that took up residence on the pitch, South Africa won the toss and sent the tourists in to bat, restricting them to 163 all out in 39.2 overs.
The dominant home side, playing in a changed pink kit in aid of breast cancer awareness, eased to victory with a full 18 overs to spare as De Villiers led the way with 60 from 61 balls.
He put on an unbeaten fourth-wicket stand of 72 with JP Duminy (28) to guide South Africa to an unassailable 3-0 lead in the series.
South Africa have now won their last 12 ODIs at home, a record for the country. Niroshan Dickwella (74) and Upul Tharanga (31) had managed 60 for the first wicket for Sri Lanka as they made a positive start but, once seamer Kagiso Rabada (2-39) removed the latter, the collapse was on.
Only two other batsmen managed double-figures as Sri Lanka lost 10 wickets for 103 runs to record another low score on what has been a dismal tour with the bat.
The players left the field for more than an hour with Sri Lanka on 117 for four in the 27th over as a swarm of bees descended on the stadium and had the fielders dropping to the floor in panic.
The unwanted guests were finally coaxed away with buckets filled with honey and the match could resume.
Seamer Dwaine Pretorius (3-19), recalled to the side in the place of all-rounder Wayne Parnell, posted career-best figures in his fourth ODI. Quinton de Kock (eight) failed again with the bat at the top of the home side’s order, but Hashim Amla (34) and Faf du Plessis (24) steadied the innings before captain De Villiers compiled his 49th ODI half-century to finish the job.
The next match will be played in Cape Town on Tuesday before the series concludes in Pretoria on Friday.
SCOREBOARD
Sri Lanka Innings
N Dickwella c de Kock b Dw. Pretorius 74
U Tharanga c Pretorius b Rabada 31
K Mendis c Amla b Phehlukwayo 4
D Chandimal c Morris b Phehlukwayo 4
D de Silva c Amla b Morris 16
A Gunaratne c Pretorius b Rabada 2
S Pathirana b Tahir 18
L Madushanka c du Plessis b Dw. Pretorius 0
S Lakmal c Behardien b Dw. Pretorius 0
L Kumara c Rabada b Tahir 5
L Sandakan not out 0
Extras (lb-3 w-6): 9
Total (all out, 39.2 overs): 163
Fall of wickets: 1-60 U. Tharanga,2-79 K. Mendis,3-89 D. Chandimal,4-115 D. de Silva,5-125 A. Gunaratne,6-149 N. Dickwella,7-149 L. Madushanka,8-155 S. Lakmal,9-158 S. Pathirana,10-163 L. Kumara
Bowling
K Rabada 7-0-39-2(w-1), C Morris 8-0-38-1(w-3), Dw. Pretorius 7-2-19-3, J Duminy 3-0-17-0, A Phehlukwayo 5-0-26-2(w-2), I Tahir 9.2-2-21-2
South Africa
Q de Kock b Kumara 8
H Amla run out (Madushanka) 34
F du Plessis c De Silva b Madushanka 24
A de Villiers not out 60
JP Duminy not out 28
Extras (lb1, nb1, w8): 10
Total (3 wkts, 32 overs): 164
Fall of wickets: 1-23 (De Kock), 2-58 (Du Plessis), 3-92 (Amla)
Bowling: Lakmal 6-1-23-0 (1w), Kumara 8-0-49-1 (1nb, 5w), Madushanka 4-0-15-1, Sandakan 6-0-33-0 (1w), Pathirana 7-0-35-0 (1w), De Silva 1-0-8-0.