Centuries from openers Dean Elgar and Aiden Markram put South Africa in complete command on the opening day of the second Test against Bangladesh in Bloemfontein.

Hashim Amla (89 not out) and captain Faf du Plessis (62no) were also eyeing three figures as the Proteas, leading the two-match series 1-0, reached a formidable 428 for three at the close.

Elgar (113) and Markram (143) put on 243 for the first wicket before the former top-edged Subashis Roy to Mustafizur Rahman at long leg.

Markram, whose maiden Test hundred came off 141 balls with 16 fours, fell when an inswinging yorker from Rubel Hossain removed his middle stump.

Temba Bavuma lasted just 12 deliveries before nicking Roy behind to Liton Das but that proved a rare moment of success for Bangladesh, who continued to toil as Amla and Du Plessis took root.

One of the few things to go wrong for South Africa came off the field. The Bloemfontein caterers were not ready to serve lunch at the end of the first session and the interval had to be extended by 10 minutes.