Prince and Boucher put South Africa in command
Their position didn't look so rosy at 134 for 5 mid-way through the afternoon, but they added 165 during the final session as Bangladesh tired. Prince is one of the unheralded members of South Africa's line-up, but this isn't the first time he has bailed the team out of a sticky situation. With the pitch already turning appreciably on just the second day, and the home side batting last, it was important they didn't hand Bangladesh a lead and built as large an advantage as possible for themselves.
With the middle order threatening to stall against Shakib, Prince wasn't afraid to attack and used his feet to good effect. He had to be on his guard against the spin from the footmarks, but his main discomfort came from a stiff neck shortly after tea. He moved along at a good clip, rarely becoming bogged down, except when he was stalled on 98 for 17 balls. The tension grew with a few nervous pokes against the second new-ball, but relief came when he pulled a short ball through midwicket to reach three figures for the tenth time.
Bangladesh's cause wasn't helped by Shakib's absence during the final session and the visitors began to wilt in the field. Mohammad Ashraful tried to hurry along to the second new ball, but all that did was further release the pressure as Boucher produced a typically bustling innings. He is another who has rescued his team on more than his fair share of occasions.
When he pulled a short ball from Mashrafe Mortaza through square-leg and took the stand to 201, it went past the previous record of 200 held by Graeme Pollock and Tiger Lance against Australia in Durban at 1969-70. In the final over of the day he cut a wide ball from Shahadat Hossain through point to bring up his fifth Test hundred and the first for five years.
Until Prince and Boucher began to dominate it had been tough going for South Africa. Jacques Kallis laboured especially hard for his 24 before becoming Shakib's first wicket when the ball deflected from pad onto off stump. Hashim Amla produced another fluent display, but his 71 was ended with a thin bat-pad catch to silly point and two balls later AB de Villiers had a hot-headed charge. The ball spun sharply past the edge with Mushfiqur Rahim completing a smooth stumping. For de Villiers it gave him a world record, having waiting 79 innings to collect his first zero in Tests.
Whereas spin was the dominate weapon for Bangladesh after lunch, the early skirmishes for South Africa's top order had been against the swinging ball. The batsmen always had to be wary and Graeme Smith was trapped by a delivery from Mahbubul Alam that pitched in line and straightened. Smith wasn't happy with the decision - the height was an issue - but it was no means a shocker from the umpire.
However, the most intriguing battle was between Bangladesh's seamers and Kallis, who was left prodding and poking at the swinging ball. There were signs in the one-dayers that Kallis had regained some touch after a poor tour of England, but here he looked woefully short of form. Mahbubul thought he had him caught behind on 2 when a perfect outswinger zipped past the edge, but although Kallis survived he was never comfortable. He is usually a good judge of what to play, but more than once he was left probing at deliveries and was unsure of where his off stump was.
There were signs, too, that the pitch was starting to break up when Mortaza bowled an off-spinning slower ball that gripped and went between Kallis' bat and pad. It was a warning of the problems Shakib would cause and he found turn in his first over of the day. Amla collected his half-century from 110 balls, continuing his impressive form this season, but he was made to work for his runs. South Africa haven't been stretched too much in the last few weeks, but Bangladesh's improved performance has kept them on their toes which is no bad thing when Australia are your next opponents.
Andrew McGlashan is a staff writer at Cricinfo