Fast bowler Corbin Bosch claimed four for 15 and wicketkeeper Clyde Fortuin collected six catches as Pakistan were bundled out for 131 in 44.3 overs after electing to bat first.
South Africa captain Aiden Markram then scored an unbeaten 66 to guide his team home in 42.1 overs.