Young paceman Mustafizur Rahman has claimed four wickets to help dismiss South Africa for just 248 in the first innings of the First Test in Chittagong.
The Tigers have been in outstanding form in the 50-over format rec, winning their past four ODI series at home.
However, they have finally been able to take that form and confidence into the Test arena to stun the Proteas on day one of the opening Test.
Only one batsman passed 50 for the tourists, with Bavuma scoring 54, while Elgar (47) and du Plessis (48) were the next best.
South Africa were never able to build a strong partnership, as they lost wickets as regular intervals, before collapsing towards the end of the innings.
Mustafizur finished with figures of 4-37 on debut including three wickets in four balls, after taking five wickets on ODI debut against India last month. Jubair Hossain was the next best, with figures of 3-53.
Bangladesh are currently 2-56 in reply, with Kayes (26) and Haque (6) the dismissed batsman, early on day two.
See the full scorecard at Cricket.com.au