Cape Town: Bowling coach Champaka Ramanayake conceded Sri Lanka had misread the pitch when they asked South Africa to bat first in the third and final test on Tuesday and then compounded the mistake by bowling badly.
At the close of the first day at Newlands, South Africa were 347 for three with Jacques Kallis unbeaten on 159. The series is tied 1-1.
"We did not bowl well at all, especially in the first session when we could have kept them to under 80 runs. Our line wasn't so bad but the length was either too far up or a bit short," Ramanayake told a news conference.
"If we could have kept them under 300 at stumps, I would have been very happy, but the 50 runs extra was because of bad bowling.
"We thought that pitch would do something but it did not do as much as expected. It became a good pitch after the first session, but we did not bowl well - that was the main reason."
South Africa opener Alviro Petersen, who scored 109 in his first test for 12 months, said the South Africans would have batted if they had won the toss.
"We were surprised they sent us in, the pitch looked quite dry this morning and we wanted to bat first anyway. We made full use of the conditions and would like to get a big first-innings total," he said.
"I think the pitch will deteriorate, it's really dry and this afternoon some balls hit the cracks and they were already loose. It will turn and we want to put scoreboard pressure on the Sri Lankans.
"We were surprised by the lines and lengths of their bowling, we were surprised by the number of short balls they bowled."