South Africa struggled from the outset after opting to bat. JP King scored 25 before falling to Abu Hasim, while Chowdhury Mohammad Rizwan removed Ntando Zuma to put the hosts under pressure.
Borson then ripped through the South African middle order, dismissing Onkgomoditse Seletswane
for a duck before removing Daniel Smith and Gomolemo Phiri with successive deliveries to leave the batting side in serious trouble.
Michael van Buuren and Schalk Engelbrecht briefly resisted with a 73-run stand. Van Buuren top-scored with 73 off 106 balls, while Engelbrecht made 45 off 58, but South Africa were eventually bowled out for 169 in 44 overs.
Borson finished with five wickets, while Aminul Islam Biplob took two. Rizwan, Samiun Bashir Ratul and Abu Hasim claimed one wicket each.
Bangladesh lost Zakir Hasan for 20 early in the chase, but Mahfijul Islam Robin and Shahadat Hossain Dipu steadied the innings with a strong second-wicket partnership.
Robin made 61 off 100 balls before departing, while Dipu remained unbeaten on 71 to guide Bangladesh home. Iftikhar Hossain Ifti was unbeaten on eight as Bangladesh reached 170 for 2 in just 38.3 overs.