Rabada finished with 6-16, the best ever one-day haul by a debutant, as Bangladesh were folded cheaply in 36.3 overs after the hosts opted to bat first on a rain-soaked pitch at the Sher-e-Bangla National Stadium.
The match was reduced to a 40-over-a-side affair after monsoon downpour delayed the start of play for two hours and 40 minutes.
Rabada, selected ahead of experienced Morne Morkel, struck in the third ball of his second over when he sent the off-stump of opener Tamim Iqbal cartwheeling.
The 20-year-old pacer later dismissed other opener Soumya Sarkar before Shakib Al Hasan and Mushfiqur Rahim provided a brief resistance for Bangladesh with 53-run fifth wicket stand.
More From This Section
Shakib top-scored 48 runs for the home side facing 51 balls while Rahim added 24.
Rabada returned in his second spell to add the wickets of Mashrafe Mortaza and Jubair Hossain to shatter the best ODI debut wicket-taking record held by West Indies' Fidel Edwards.
Rabada is the first South African to bag six wickets on debut and only the second South African bowler to claim five wickets in his first one-day international match.
The other South African to achieve the feat is Allan Donald who took 5-29 against India at Kolkata in 1991.
Nasir Hossain lent some late resistance to score 31 off 44 balls before he was bowled by Chris Morris, who finished with 2-32.
The second and third ODI of the three-match series will be held on July 12 and 15 respectively in Dhaka and Chittagong.