South Africa took its lead to 230 runs over Bangladesh before bad light brought an end to day three of the first test on Saturday.
South Africa was 54-2 in its second innings and in control of the series opener despite the early loss of its openers.
Bangladesh's bowlers slowed South Africa's progress with those strikes, some relief for the tourists after they conceded 496-3 declared in the first innings to immediately be under pressure in the test.
Hashim Amla, a century-maker in the first innings, was 17 not out at the close and Temba Bavuma was with him on 3 not out.
Openers Dean Elgar and Aiden Markram fell within eight runs of each other, with Mustafizur Rahman and Shafiul Islam collecting the wickets.
South Africa captain Faf du Plessis will likely face a tricky decision on day four in deciding how much of a lead is enough to put Bangladesh back in and push for victory.
The pitch at Senwes Park is a good one for batting and hasn't appeared to deteriorate much in the first three days.
Earlier, Bangladesh was 320 all out in its first innings to surrender a deficit of 176 runs.
Bangladesh clawed its way toward South Africa's big first-innings total with 77 from Mominul Haque and 66 from Mahmudullah. Bangladesh had four successive half-century partnerships, three of them involving Mominul, who made the highest test score by a Bangladesh player in South Africa.
But South Africa made sure neither of those two batsmen went on to a big score.
Spinner Keshav Maharaj ended Mominul's resistance and finished with 3-92 to lead the South African attack.
Morne Morkel made an important breakthrough 10 minutes before tea when he dismissed Mahmudullah with the second new ball. Taskin Ahmed was run out three balls later for 1 and South Africa made efficient use of that second new ball to remove the last five Bangladesh batsmen for just 28 runs.
Maharaj had Mominul out to a close catch at short leg in his 2-89.
Duanne Olivier and Morkel struck in the space of three overs as Sabbir Rahman (30) and Mahmudullah both went by playing on to their own stumps before Taskin's run out.
Taskin fell to a piece of slick fielding by Temba Bavuma at backward point, pulling off a diving stop and throwing to Markram to finish off the run out.