Published: 2017-10-15 22:12:01 BdST
Bangladesh won the toss and elected to bat on a flat wicket, setting their hosts a below-par 279 to win.
South Africa reached 282 without the loss of a wicket and with 43 balls to spare.
It was the seventh time that South Africa have won an ODI by 10 wickets and the third time they have achieved this against Bangladesh. It was, however, the highest total chased by any team to win by 10 wickets.
De Kock was the chief aggressor with 168 from 145 balls for a 13th ODI century that included 21 fours and two sixes.
Amla struck eight fours in his 110 from 112 balls, his 26th ODI ton, as the pair put on a South African record partnership for any wicket in the 50-over format.
Bangladesh’s innings of 278 for seven was underpinned by a fifth ODI century for Mushfiqur Rahim (110 from 116 balls), who became the first player from his country to score a ton against South Africa in any format.
Home seamer Kagiso Rabada was the pick of the bowlers with figures of four for 43 in his 10 overs.
The second match in the three-game series will be played on Wednesday in Paarl, with the final game in East London on Oct 22.