Bangladesh's bowlers fought back to get quick South Africa wickets as the hosts Proteas got all out for 204 runs in 74 overs in the second innings of the first Test at at Kingsmead on Sunday.
Tigers bowlers took four wickets and conceding only 52 runs in 28 overs between lunch and tea.
The hosts appeared to be building a dominant position when they reached 105 for one at lunch, with captain Dean Elgar benefitting from two dropped catches and hitting his second half-century of the match.
But Elgar was leg before wicket to Taskin Ahmed for 64 soon after the interval.
The runs dried up as the bowlers, led by off-spinner Mehidy Hasan, kept tight control.
Keegan Petersen was caught at short leg off Mehidy for 36 and Temba Bavuma (4) and Kyle Verreynne (6) fell to Ebadot Hossain and Mehidy respectively.
Ebadot took two for 35 while Mehidy had figures of two for 59 off 29 overs.