Five of the top six Bangladesh batsmen failed to reach double digits as Bangladesh look destined for another big defeat in the third and final ODI on Sunday.
The visitors now have 63 for 5 after 15 overs, with only Shakib Al Hasan offering any resistance. The left-handed batsman is not out on 33.
Earlier, the South Africa batsmen continued their fine form in the series to post 369 for 6.
Winning the toss for the first time in the series, SA captain Faf du Plessis opted to bat first and his openers did not let him down, making 119 in the first wicket.
Miraz put an end to Temba Bavuma's innings to give the visitors a breakthrough after the opener had hit five fours to make 48.
De Kock soon joined his openening partner in the dressing room as Miraz struck again. The batsman hit 73 off 68 balls thanks to nine fours and a six.
Faf du Plessis and Aiden Markram then added 157 in the thrid wicket partnership to put the hosts in complete control. The former was unlucky to miss out on a century, the South African captain retired hurt hitting a 67-ball 91, courtesy of 10 fours and a six.
Markram (66) was the next one to go, Imrul Kayes caught him short off the crease with a direct throw.
Farhaan Behardien added 33 while Kagiso Rabada hit 23 in just 11 balls to take them past 350.
Bangladesh recalled Soumya Sarkar and Mehedi Hasan Miraz in place of Tamim Iqbal and Nasir Hossain for this game.