South Africa 82 for 0 (Petersen 46*) trail India 334 (Vijay 97, Rahane 51*, Steyn 6-100) by 252 runs
Scorecard and ball-by-ball details
The second day began with grey skies and a persistent rain that wiped out the morning session but when play began, more than three hours behind the scheduled start, it was in blazing sunshine with the fans reaching for the sunblock. Dale Steyn's mood similarly brightened as he ended an unprecedented 69.2-over wait for a wicket with a triple-strike that brought South Africa right back after the first day was dominated by India's batsmen.
Steyn returned after tea to roll over the lower order in a pumped-up spell and finish with 6 for 100, his 22nd five-for, as India ended on 334. It was a high-class display on a surface that offered little for quicks, and showed his adaptability. With his usual outswinger not working, he relied on express pace and hostile short balls.
In between, India had a couple of sprightly partnerships involving Ajinkya Rahane, another young batsman whose reputation has been bolstered on this tour. First, he put on 66 with the in-form Virat Kohli and then 55 with MS Dhoni to ensure India didn't keel over without resistance.
M Vijay and Cheteshwar Pujara, utterly in control all day yesterday to take India to 181 for 1, had a couple of nervy moments early on against Steyn as both batsmen edged past the staggered slip cordon. On the sixth over of the day, Steyn broke through. After a bunch of short balls, Pujara only went half-forward to a pitched-up delivery and nicked through to the keeper.
For Vijay, the early stumps yesterday came at the worst time, as he had a night to ruminate over a possible first century overseas. He spent 47 deliveries in the 90s - including that edge past slip for four - before a Steyn short ball had him gloving to the keeper, three short of a milestone to cherish.
The next delivery was one that will likely haunt Rohit Sharma for a while. With Steyn reversing the ball in, Rohit had a brainfade and decided to not offer a stroke and lost his middle stump. Cue a flood of Nohit jokes, a derisory nickname he'd thought he had left behind with the golden run back home leading up to this series.
A fired-up Steyn kept up the short-ball onslaught, hitting Rahane twice with the second new ball, signalling to the batsman that he was keeping count. Virat Kohli was less troubled by that strategy, authoritatively pulling Steyn to midwicket for four. Kohli was in the form that brought him a century and 96 in the Johannesburg Test, and he showed that off with a series of defensive pushes down the ground, several of which reached the rope.
With Vernon Philander getting nothing from the new ball, Rahane was settling in, the partnership grew and India were slowly asserting themselves again. Morne Morkel, though, changed that with a short ball ten minutes before tea that Kohli guided to AB de Villiers, who reacted rapidly to collect that chance.
The runs came quickly after the break with Dhoni in the middle and Rahane latching onto anything short. For the third innings in a row, India had batted out more than 100 overs, not something that was predicted before the tour began. The pair added 32 in five overs and just as India seemed to be taking a firm grip, Steyn returned.
He had Dhoni chasing one outside off to nick to slip to break the stand, and expose India's lower order. Ravindra Jadeja became the first victim of spin in the game, as he gave Jacques Kallis his 200th Test catch to exit for a duck.
A leaping, acrobatic take from de Villiers to send back Zaheer Khan left Rahane wondering whether he would reach his maiden Test half-century. He got there but soon after the innings ended, with the final five wickets going down for 14 runs.
South Africa's batsmen had to negotiate 20 overs before stumps and they began at a T20 pace. India's new-ball bowlers couldn't get the ball to deviate, and offered some easy putaways which Graeme Smith and Alviro Petersen pounced on. Like Philander, Zaheer Khan was taken off after just three overs. The introduction of Ishant Sharma made it tougher for the batsmen, as both Smith and Petersen were left groping outside off.
There was more excitement when Jadeja came on, as he first got appreciable turn off the footmarks when bowling to Smith and then off an unblemished surface to Petersen. There was no breakthrough, though, as Petersen kept dispatching the bad ball on offer and South Africa maintained a punishing pace.
By stumps, South Africa's openers had reduced the deficit to 252, and ensured their team dictated the second day as much as India had the first.