Proteas captain Dean Elgar and Keegan Petersen picked up where they left off and kept the pressure on the Bangladesh bowlers, adding 81 for the second wicket before spinner Taijul Islam was rewarded.
He found the edge of Elgar’s bat, the catch taken by Liton Das as the Proteas Test captain scored a brisk 70 off 89 deliveries, including 10 boundaries.
Joined by Temba Bavuma, Petersen picked up the mantle as he smashed three boundaries in the 34th over to record his fourth Test half century.
The Proteas moved past the 150 run mark in the 35th over thanks to a well struck boundary by Bavuma.
A short burst of rain briefly halted play at about 1.30pm with the score on 156/2 , but resumed shortly before 2pm.
Bavuma’s third boundary brought up the 50 run stand for the third wicket before Petersen, who danced down the wicket to Taijul Islam, missed his flick and was initially given not out.
Bangladesh reviewed the decision and hawk-eye showed the ball skidding through to hit the stumps, sending Peterson back to the dugout for a well-played 64 off 124.
At the end of the second session, the home side were on 199/3 after 58 overs with Bavuma (33) and Ryan Rickelton (7) at the crease.
Support independent journalism by subscribing to the Sunday Times. Just R20 for the first month.