Heinrich Klaasen led South Africa with 46 runs, while Tanzim Hasan Sakib took 3 wickets.
Bangladesh managed 109-7 in reply, falling short of South Africa's total.
Bangladesh initially struggled against South Africa's pace battery on the challenging pitch.
Anrich Nortje's crucial wickets put pressure on Bangladesh's batting lineup.
Towhid Hridoy and Mahmudullah stabilized Bangladesh's innings with a crucial partnership.
Keshav Maharaj's final over was crucial in securing victory for South Africa.
Despite Bangladesh's efforts, Taskin Ahmed could only manage a single off the final ball.