Bangladesh were 8-246 at stumps on Thursday’s opening day of the second and final Test against South Africa at the Sher-e-Bangla National Stadium in Dhaka.
Skipper Mushfiqur Rahim (65) made the only half-century as part-time spinner JP Duminy (3-27) and Dale Steyn (3-30) made regular breakthroughs to put South Africa on top.
Steyn struck early on day one, dismissing Tamim Iqbal for six to bring up the South African paceman’s 400th Test wicket.
The home side were 1-12 after winning the toss and opting to bat.
After the first of their two matches ended in a draw, Bangladesh are looking to record their first Test victory over the world No.1-ranked team.
The 32-year-old Steyn almost reached the 400 landmark in his second over of the day but Dean Elgar dropped Tamim at second slip.
Skipper Hashim Amla made no mistake in Steyn’s next over when he took a chest-high catch at first slip.
Shaun Pollock is the only other South African to pass the 400-mark, taking 421 wickets before retiring in 2008.
Steyn, who is playing his 80th Test, became the 13th cricketer to take 400 or more wickets in Test matches.
He is one of only three active cricketers to achieve the feat, joining Indian spinner Harbhajan Singh and England paceman James Anderson.
South Africa handed wicketkeeper-batsman Dane Vilas a Test debut in the match, replacing Quinton de Kock.
The 30-year-old became South Africa’s sixth new cap in 18 months.
Bangladesh brought back Nasir Hossain in place of left-arm spinner Taijul Islam.
The first Test ended in a draw after rain washed out the last two days in Chittagong.