Dwaine Pretorius justified his promotion up the South African batting order by leading the Proteas to a 45-run victory in the third and final Twenty20 international between the sides.
South Africa had already wrapped up victory in the three-match series but made sure of the whitewash in a closing encounter interrupted by rain.
All-rounder Pretorius came in at three and hit 77 off 42 deliveries, inspiring the home side to 198-2 at the Wanderers, while Reeza Hendricks (66) also impressed.
Pretorius also claimed the first Sri Lankan wicket, before Andile Phehlukwayo dismantled the tourists with career-best figures of 4-24, taking two wickets each side of a downpour that saw the target trimmed to 183 from 17 overs.
The result means South Africa have completed a clean sweep in both the ODI and T20 series.
After Aiden Markram was caught by Lasith Malinga for 15 off the bowling of Suranga Lakmal (1-38) in the sixth over, Sri Lanka struggled to snap a fruitful partnership between Hendricks and Pretorius.
The duo racked up 90 runs before Jeffrey Vandersay (1-35) took out Hendricks' leg stump, although skipper JP Duminy proved a similarly assured presence as he added 34 before the end of the innings.
Sensational batting by South Africa! Pure #ProteaFire that! @dwainep__29 absolutely sublime today partnered with @reezahendricks & @jpduminy21 who came in lit at the death. Sri Lanka need 199 to win. Will we get our series sweep? We're definitely #TeamSA ! #SAvSL pic.twitter.com/jf3BrHaFLd— Cricket South Africa (@OfficialCSA) March 24, 2019
Pretorius, playing on his home ground, then made the first dent in Sri Lanka's run chase, trapping Dhananjaya de Silva lbw for eight runs.
Niroshan Dickwella (38) followed in the next over after being impressively caught behind off Phehlukwayo, who then dismissed Avishka Fernando (1) leg before three deliveries later.
From there, Sri Lanka's hopes of salvaging a result disappeared at pace, as both Kamindu Mendis (1) and Angelo Perera (15) were caught by David Miller off Junior Dala (2-29) before Thisara Perera (8) was run out by a precise Hendricks throw.
A downpour merely delayed South Africa's march to victory, as the hosts cleaned up the tail within five overs of the restart, with Phehlukwayo and Lutho Sipamla (2-22) taking two wickets apiece to finish the job.