After a Kyle Verreynne century helped South Africa take a 202-run lead, Bangladesh ended the day on 101-3 with a deficit of 101 runs on Day 2 of the 1st Test.
The Proteas started the day on 140-6 and a lead of 34.
Kyle Verreynne and Wiaan Mulder picked up where they left off, executing an effective game plane. They played with a positive intent. Both batters played straight down the ground and utilized the sweep and reverse sweep well against the Bangladesh spinners.
The pair took South Africa past the 200-run mark by the first drinks break of the day.
The pair took South Africa into a lead of 121 with both batters bringing up a half-century.
Shortly after bringing up his maiden Test half-century, the introduction of Hasan Mahmud saw Mulder edge to the slip. That was the end of the 119-run partnership.
He cleaned up Maharaj the following delivery, and after a good start to the day, SA was suddenly 227-8 after 65 overs.
The Proteas manage to go wicketless until lunch. They finished on 243-8 with a lead of 137.
After lunch Dane Piedt and Kyle Verreynne were superb.
The pair took SA to 293 and a lead of 187 with a 66-run partnership.
This also saw Verreynne reach his second Century for the Proteas. He did so in just 134 balls.
Shortly after, Piedt lost his wicket lbw to Mehidy Hasan Miraz after a well-played 32.
Verreynne took SA past 300 with a brilliant slog sweep for six and SA were just 5 runs away from a 200-run lead.
He then brought up the 200 lead with another six off the back foot and over the mid-wicket boundary.
The following delivery, attempting another sweep, clearly aiming to up the ante, Verreynne was stumped, and South Africa were all out for 308 in 88.4 overs with a lead of 202.
Verreynne ended on 114 off 144 balls (8 fours and 2 sixes).
The Proteas got the perfect start with the ball in hand. Kagiso Rabada struck in his second over to reduce Bangladesh to 4-1. Three deliveries later, he made it 4-2, finding the edge of Mominul to the slips.
Bangladesh survived until Tea at 19-2.
The hosts built some momentum to take themselves to 59, but Keshav Maharaj got a breakthrough in the 19th over dismissing Najmul Hossain Shanto lbw for 23.
Mushfiqur Rahim (31*) and Mahmudul Hasan Joy (38*) ended the day with a partnership of 42 off 50 balls. Bangladesh posted 101-3 and trail by 101 runs.