Cape Town - Andile Phehlukwayo took the only wicket of the first session, as Bangladesh fought back at lunch on the third day of the first Test at Senwes Park in Potchefstroom on Saturday.
LIVE: Proteas v Bangladesh, Day 3
Mominul Haque made an accomplished half-century as Bangladesh kept South Africa's bowlers at bay.
Mominul was unbeaten on 72 as Bangladesh reached 218 for four at lunch in reply to South Africa's first innings total of 496 for three declared.
The diminutive Mominul and fellow left-hander Tamim Iqbal saw off some hostile bowling by Morne Morkel and Kagiso Rabada at the start of the day, with the first nine overs producing only seven runs.
Both batsmen survived close leg before wicket decisions against reverse-swinging deliveries from Rabada.
But 17 runs came off Rabada's fifth over of the day, including two successive boundaries by Mominul, and South Africa's change bowlers were unable to maintain the pressure as the Bangladesh batsmen counter-attacked.
The only wicket of the morning fell to new cap Phehlukwayo when Tamim, on 39, glanced an off-target delivery down the leg side and wicketkeeper Quinton de Kock flung himself to his right to take a good catch.
Mominul made his runs off 138 balls and hit 12 fours. He and Mahmudullah (26 not out) had added 60 runs for the fifth wicket at lunch.