South Africa paceman Morne Morkel took two wickets in two balls as Bangladesh struggled on day one of the opening Test here on Friday.
The 23-year-old fast bowler, playing in only his second Test after making his debut against India in 2006, added to the two wickets he took in the first session for figures of 4-43 off 11 overs.
Morkel's twin blows reduced Bangladesh to 172-8 at tea after they opted to bat first on a benign wicket at the Sher-e-Bangla Mirpur stadium.
It was off-spinner Johan Botha who gave South Africa their first breakthrough in the post-lunch session, dismissing top-scorer Aftab Ahmed (44) who put on 70 runs for the sixth wicket with Shakib Al Hasan.
Hasan (30) was dismissed by Morkel when he chased a ball wide outside the off stump to A.B. de Villiers who took a fine catch at second slip.
Mohammad Rafique was unlucky to be adjudged leg before off the next ball by Steve Bucknor, officiating in his first match since the infamous Sydney Test between India and Australia last month.
TV replays showed the batsman getting a thick inside edge but Bucknor raised the finger after a prolonged appeal by Morkel.
Bangladesh captain Mohammad Ashraful was the lone batsman who offered some resistance before being dismissed by Botha for a brisk 27-ball 34 containing seven fours.
Paceman Dale Steyn did the early damage by removing openers Tamim Iqbal and Junaid Siddique cheaply before Morkel picked another two.
South Africa opted to go into the match with just one spinner in Botha while the hosts also picked a lone specialist slow bowler in Mohammad Rafique, set to retire after this two-Test series.
The second Test begins in Chittagong on February 29.