Mulder and Verreynne reached their half-centuries before the former was out for a well-played 54, with South Africa reaching the lunch break on 243/8, a lead of 137.
Having also lost Keshav Maharaj for a duck before the break, Verreynne and Dane Piedt knuckled down to further frustrate the hosts as they shared 66 for the ninth wicket.
The Western Province man went on to record a second century in Test whites as he and Piedt navigated the Proteas to 292/8.
Their half-century partnership ended when Piedt was given out leg before wicket, which the off-spinner reviewed unsuccessfully, before Verreynne was the final wicket to fall, both taken by Mehidy Hasan Miraz, as South Africa finished their first innings in the driver's seat.
Taijul Islam was the star with the ball as he claimed 5/122 from 36 overs, while Hasan Mahmud and Miraz recorded 3/66 and 2/63 respectively.
Bangladesh battle back after Verreynne century puts Proteas in charge
Verreynne's calm 114 puts South Africa in the driving seat at Sher-e-Bangla National Stadium
Image: Daniel Prentice/Gallo Images
Bangladesh batters Mahmudul Hasan Joy and Mushfiqur Rahim battled hard despite constant pressure by South Africa's bowlers to steer their side to 101/3 at the close on the second day of the first Test in Dhaka on Tuesday.
Joy, who survived a possible stumping before the close of play at Sher-e-Bangla National Stadium, ended the day not out on 38 runs off 80 balls, while Rahim was on 31 from 26 with the hosts still trailing by 101 runs.
Earlier, a patient century by Kyle Verreynne, facing 144 balls for his 114 that included eight fours and two sixes, pushed South Africa to a total of 308 with a lead of 202.
The Proteas had the hosts in early trouble when Kagiso Rabada struck a double blow just before the tea break. The right-arm quick brought an end to Shadnam Islam's innings for a single before Mominul Haque was sent packing for a duck, caught in the slip cordon, reducing Bangladesh to 4/2 in the third over.
Captain Najmul Hossain Shanto and Joy then steadied the ship, recording a half-century stand to take Bangladesh to 56/2, still 146 runs in arrears.
Left-arm off-spinner Keshav Maharaj made an important breakthrough when he trapped Shanto in front of his stumps, given out for 23 in the 19th over with the score on 59.
Joy and Rahim battened down the hatches as they took their side past 100 shortly before bad light brought an end to the second day.
Starting the day on 140/6, Verreynne and Wiaan Mulder batted stoically, sharing a valuable 119-run stand for the seventh wicket.
Mulder and Verreynne reached their half-centuries before the former was out for a well-played 54, with South Africa reaching the lunch break on 243/8, a lead of 137.
Having also lost Keshav Maharaj for a duck before the break, Verreynne and Dane Piedt knuckled down to further frustrate the hosts as they shared 66 for the ninth wicket.
The Western Province man went on to record a second century in Test whites as he and Piedt navigated the Proteas to 292/8.
Their half-century partnership ended when Piedt was given out leg before wicket, which the off-spinner reviewed unsuccessfully, before Verreynne was the final wicket to fall, both taken by Mehidy Hasan Miraz, as South Africa finished their first innings in the driver's seat.
Taijul Islam was the star with the ball as he claimed 5/122 from 36 overs, while Hasan Mahmud and Miraz recorded 3/66 and 2/63 respectively.
READ MORE:
‘Honour to be on that list with those amazing players’: Rabada on reaching 300
More tears for Proteas after final loss that hurts more than last year
New Zealand punish error-strewn Proteas to claim first world title
Proteas hold small advantage after Rabada reaches historic landmark
Rabada makes history with magic 300 as Proteas take control in Bangladesh
Proteas desperate to reverse dreadful record on subcontinent
Would you like to comment on this article?
Sign up (it's quick and free) or sign in now.
Please read our Comment Policy before commenting.
Most read
Latest Videos