Centurion: Kagiso Rabada led a pace assault as South Africa defended a below-par total in the second one-day international against Sri Lanka at SuperSport Park on Wednesday.
Rabada, bowling at more than 150 km/h at times, took three for 43 as Sri Lanka were bowled out for 138 in reply to South Africa's 251.
Rabada was backed up by fellow fast bowlers Lungi Ngidi (2-14) and Anrich Nortje (two for 25), while veteran leg-spinner Imran Tahir picked up two for 39.
Man of the match Quinton de Kock hit a dazzling 94 off 70 balls, with 17 fours and a six, but the South African batting fell away after it looked as though they were set to make more than 300 on a ground which frequently yields high totals.
Thisara Perera dismissed De Kock and accepting three for 26 as the Sri Lankan bowlers battled back. The last six South African wickets succumbed to 31 runs.
Rabada appeared from the first over of the second innings that South Africa's arrangement was to attempt to impact through the Sri Lankan batting.
In taking a stab at pace, he was whimsical now and again, sending down three wides, including one that went far down the leg side for an additional four runs.
There was no relief when the new ball bowlers were refreshed, with Nortje having Kusal Perera gotten off a main edge off his first ball.
Nortje, in his second universal match, bowled seven overs in a solid spell, pulled off an immediate hit come up short on Kusal Mendis and caught Oshada Fernando leg before four balls later.
Rabada returned to take two additional wickets in his second spell.
With South Africa in complete control, David Miller assumed control over the wicketkeeping gloves in the last overs in a reasonable sign that he will play the job of second wicketkeeper at the World Cup, beginning in May.
With South Africa 2-0 up in the five-coordinate arrangement, the following two matches are in Durban and Port Elizabeth, where Sri Lanka won Test coordinates a month ago, on pitches which will give less help to South Africa's quick bowlers.