Set to chase a meager 57-run target, South Africa comfortably completed the pursuit in 8.5 overs after losing one wicket.
The Proteas did not get the desired start to the chase courtesy of Fazalhaq Farooqi who clean-bowled Quinton de Kock (5) in the second over.
However, Reeza Hendricks and captain Aiden Markram ensured that their side comfortably chased down the modest total.
They raised an unbeaten 55-run partnership for the second wicket and finished the game in the ninth over.
Hendricks top-scored with 29 runs from 25 balls, featuring three fours and one six, while Markram scored a 21-ball 23, laced with four boundaries.
Afghanistan captain Rashid Khan’s decision to bat first against South Africa at a tricky pitch did not bear fruits as they were bowled out for a paltry total in 11.5 overs.
The Asian side had an unwanted start as they lost in-form opening batter Rahmanullah Gurbaz (0) on the last ball of the first over with four runs on the board.
Marco Jansen, who dismissed Gurbaz, added another wicket to his tally in the next over when he bowled Gulbadin Naib (9).
What followed was a middle-order collapse as Afghanistan lost four more wickets in quick succession including Azmatullah Omarzai, who was the only batter to reach double figures with 10 off 12, to eventually slip to 28-6 in 6.3 overs.
Skipper Rashid Khan (8) and all-rounder Karim Janat (8) then showed some resistance with a 22-run partnership for the seventh wicket.
Tabraiz Shamsi broke the partnership as removed the Janat, followed by the wicket of Noor Ahmed (0) in the same over.
Anrich Nortje bowled Khan, while Shamsi hit the final nail in the coffin with the wicket of last-man Naveen-ul-Haq (2) to wrap up Afghanistan’s innings.
Shamsi returned with brilliant bowling figures of 3-6, while Jansen claimed 3-16. Nortje and Kagiso Rabada managed two wickets each.