Opener Dean Elgar batted through the opening day for an unbeaten century as South Africa piled on the runs against Bangladesh at Senwes Park on Thursday.
Elgar made 128 not out, his ninth Test century, and put on 196 for the first wicket with debutant Aiden Markram, who was run out for 97 as the Proteas closed on 298 for one.
Hashim Amla was unbeaten on 68 after he and Elgar added 102 for the second wicket.
Home captain Faf du Plessis could not hide his surprise after his Bangladesh opposite number Mushfiqur Rahim won the toss and asked the hosts to bat first.
South Africa made full use of what may prove to be a misguided decision by Rahim.
Du Plessis said at the toss he was "very surprised" by Rahim's decision. "It looks a little bit dry. I definitely would have batted. It looks a really good pitch and I expect it to spin later on."
There was none of the early life that Rahim had hoped would assist his three seam bowlers.
His only specialist spinner, Mehidy Hasan, was brought in as early as the sixth over.
The pitch played easily all day, although the dry nature of the surface was shown by some balls which kept low. Bangladesh soon settled for defensive fields and they were able to keep the scoring rate under control.
Bangladesh batsman Sabbir Rahman effectively admitted that his team may have made the wrong call.
"Normally in South Africa there is grass and bounce on the pitch, so were surprised that it was more like a Bangladesh wicket," he said.
"It wasn't bouncy, it was a flat pitch. Hopefully on the second day we can come back and try to contain them. Hopefully the pitch will be best for batting from the second day."
None of the seamers looked threatening and Hasan ended up bowling 36 overs, including two with the second new ball, conceding 101 runs. Three part-time spinners shared another eight overs.
Elgar and Markram were largely untroubled as they ticked off several milestones.
Markram, 22, who captained South Africa to the 2014 Under-19 World Cup title, was Elgar's fourth opening partner of the year and together they posted South Africa's first half-century start in 16 innings before converting it into three figures shortly after lunch, the first century opening stand since December.
Their partnership was the highest first-wicket stand for South Africa since Graeme Smith and current batting coach Neil McKenzie put on 204 against England at Lord's in 2008.
Markram made 97 off 152 balls, with 13 fours, before there was a mix-up when both players were approaching their centuries in what proved to be the last over before tea.
Elgar, on 99, played a ball from Hasan towards backward point. Elgar took a couple of steps outside his crease and Markram set off for a run. But he was sent back and stranded well short of his ground as Mominul Haque's throw reached Hasan.
Two balls later, Elgar reached his century off 176 deliveries.
Markram, who said he was "more than happy with the 97", added the most important thing was that the team was in a good position.
He said the South Africans were surprised at being sent in: "We've seen the pitch is getting a touch lower and slower so we were pleasantly surprised to get first use of it."
South Africa fielded a second new cap in all-rounder Andile Phehlukwayo, who together with fast bowler Kagiso Rabada, was a team-mate of Markram in the Under-19 side.