Rookie opener Aiden Markram scored his maiden test century for South Africa as they piled on the runs on the opening day of the second test against Bangladesh and were 428 for three wickets at the close of play on Friday.
Markram shared in a 243-run opening stand with Dean Elgar, who was the first to reach three figures as he marked his 10th test century.
Hashim Amla was closing in on a century as well as he was 89 not out at stumps, sharing in an unbeaten fourth-wicket stand of 140 with captain Faf du Plessis, who was unbeaten on 62.
Elgar scored 113, becoming the first batsman to reach 1,000 test runs this year, before being the first wicket to go down, caught in the deep off Subashis Roy in the 54th over of a difficult day for the visitors.
Markram, who turned 23 on Wednesday, was bowled by Rubel Hoosain for 143 as he continued an impressive start to his test career.
Only Temba Bavuma missed out on the run feast, caught behind for only seven. South Africa’s run rate for the day was 4.76.
Subashis took two wickets for 82 as Bangladesh used eight bowlers in an effort to stem the tide.
Elgar and Markram had put on a 197-run partnership at the start of the first test in Potchefstroom last week before a mix-up saw Markram run out for a heart-breaking 97 on his debut. South Africa went on to win the test by 333 runs to take a 1-0 lead in the two-match series.