Liton Das scored his first Test fifty and shared an 82-run stand with Shakib Al Hasan to help Bangladesh build their biggest lead, 78, against any team when batting second, but South Africa's openers, Dean Elgar and Stiaan van Zyl, all but wiped that away. They reached the close of a curtailed day unscathed and just 17 runs behind, with enough time, weather-permitting, to set a target.
South Africa may regard this as their best day so far. Despite the Shakib-Liton partnership, Bangladesh's last four wickets fell for 15 runs as Dale Steyn found his bite with the bouncer and finished one short of the 400-wicket mark. Then, the South African openers batted with more ease than their entire line-up did in the first innings and grew in confidence, especially against the spinners, to negate the advantage Bangladesh gained.
The hosts' day began energetically as Mushfiqur Rahim tried to make the most of the old ball. He took on Steyn and was successful until the fast bowler rapped him on the pads with a length ball, and asked for the review after Umpire Joe Wilson wasn't convinced it was out. Replays showed the ball was going on to hit middle stump and Steyn had made his first incision in the series.
South Africa took the new ball one over after it became available, and tasked Vernon Philander and Morne Morkel with picking up wickets. When neither could, Steyn was brought back, with Simon Harmer operating at the other end. Although Harmer found turn, he was at times too short and both Shakib and Liton were comfortable taking him on. They became even more comfortable after they secured the lead with Liton's pinpoint drive off Steyn before lunch, and South Africa then had another spinner, JP Duminy, operating after the break.
Shakib reached his highest Test score against South Africa and had a half-century in sight, so went for a glory shot off Harmer. But what he hoped would be a full-blooded pull turned into a top-edge to give Duminy a comfortable catch at short midwicket and leave Liton with the tail.
Mohammad Shahid offered strong support when he took 18 runs off Harmer's next over, all in boundaries. The first was a fortuitous outside edge; the next three meaty blows over mid-off, midwicket and straight down the ground. His fun only lasted ten more deliveries. After belting Vernon Philander through cow corner, Shahid tried to slog but van Zyl took a good catch at midwicket.