Imran Tahir was the star of the show with the ball, taking four wickets, including taking two in his first over. Chris Morris also took three wickets as Afghanistan were all out for 125 in a match reduced to 48 overs per side.
The Proteas had little problems in chasing the revised target of 127, reaching the score for the loss of just one wicket. Quinton de Kock top scored with 68.
Brilliant Tahir starts collapse
The 40-year old Tahir was yet again the standout bowler for South Africa. His spell of bowling started the collapse as Afghanistan failed to cope with his variations.
Afghanistan had originally started well and reached 39 before losing their first wicket. Noor Ali had been steady for his 32, but after the second rain delay of the innings, it all went wrong for Afghanistan.
Hashmatullah Shahid fell straight after the restart, and Tahir picked up a wicket with his first ball as Afghanistan lost four wickets for just one run, going from 69-2 to 70-6.
A late flurry from Rashid Khan helped his side get above 100 but it was a score well below par.
Openers ease South Africa to victory
There was an additional two runs added onto South Africa's victory target however it didn't make any difference. Both de Kock and Hashim Amla played well, putting on a century stand for the first wicket.
De Kock was the more aggressive of the two, scoring 68 from just 72 balls before being caught at mid-wicket, but it didn't make a difference as South Africa reached their target with nine wickets in hand and 19 overs left to bat.