De Kock’s haul - the highest individual score of the tournament so far - helped his side to a convincing first-innings total of 382 for five, a target that proved too much for their opponents despite a valiant 111 from as many balls by Mahmudullah.
It was insufficient to rescue Bangladesh, who were all out for 233 as they slipped to the bottom of the table in place of England after five matches.
There was also big scores for Heinrich Klaasen, who hit 90 from 49 balls, and Aiden Markram who scored 60 off 69. David Miller smashed four sixes in a cameo of 34 off 15.
South Africa batted first and found themselves struggling early at 36 for two before De Kock and Markram struck up a 131-run partnership to steady the ship and put them on course for another big score, following their 399 for seven against England.
De Kock’s hundred came up in 101 balls but that was just the start as he hammer a further 74 from 39.
It proved a target far beyond Bangladesh, who despite heroics from Mahmudullah saw their top order collapse as Tanzid Hassan, Najmul Hossain Shanto, Shakib Al Hasan, Mushfiqur Rahim and Litton Das fell with just 58 on the board.
Mahmudullah to ensure his team avoided the spectre of a possible record World Cup defeat, but their future in the tournament looks likely to soon be over after losing for the fourth time in five games.
Join our commenting forum
Join thought-provoking conversations, follow other Independent readers and see their replies