Johannesburg: Pacers set the stage for India with a magnificent exhibition of swing bowling as South Africa suffered an unexpected collapse on Day 2.
India, resuming with their overnight score of 255 for 5 on Thursday, were bundled out for 280 in their first innings but clawed back brilliantly to leave the hosts at 213 for six at close of an action-packed second day.
South Africa were cruising along comfortably at 130 for one before the Indian pacers wreaked havoc to completely change the face of the game.
The wrecker-in-chief Ishant Sharma (3 for 64) came with a fiery spell, dismissing Hashim Amla (36) and Jacques Kallis (0) off consecutive deliveries before Zaheer Khan got rid of captain Graeme Smith (68).
Mohammad Shami then struck for his team by evicting JP Duminy (2) and AB De Villers (13) in the same over to bring India back into the game.
From 130 for one, South Africa were suddenly struggling at 146 for six. They lost five wickets in the span of 16 runs in the eventful last session.
However, Faf du Plessis and Vernon Philander held the South African fortress and stitched an unbeaten 67 runs stand for the seventh wicket.
Philander and du Plessis were batting on 48 and 17 respectively at stumps with South Africa still trailing by 67 runs.
The Indians were unlucky not to have the wicket of du Plessis as he was dropped on 17 by Rohit Sharma off Shami at the fag end of the day.
Smith and Hashim Amla started proceedings after tea, at 118 for 1, looking to further frustrate the Indians and increase their 81-run partnership for the second wicket. They could add only 12 runs though, before the drama began and wickets started falling in a heap.
Amla was the first to go. In the 37th over of the innings, he had cut Ishant over slips and it seemed like there might be some slow reverse swing available for the medium pacers.
In his next over, Ishant was on the money again, bringing the ball back into Amla sharply, as the batsman looked to leave and was bowled. Amla scored 36 runs off 74 balls, with six fours, as the floodgates opened.
Kallis walked in and walked out the very next minute, missing the line of another in-swinger and out plumb LBW. Ishant was on a hat-trick, but de Villiers had no problems facing up.
Buoyed by this revival, Zaheer got Smith trapped LBW in the very next over, as South Africa lost three wickets for no runs in nine deliveries. The Proteas' captain made 68 runs off 119 balls, with eleven fours. This was the seventh time in 10 Tests that Zaheer dismissed him, and 14th overall across all formats, with 68 being the highest Smith has managed in those 14 innings.
Shami came on to bowl in the 45th over and the mayhem continued, as he struck on his first ball, removing Duminy caught at first slip by Murali Vijay. Two overs later, and it was de Villiers walking back, out LBW, as South Africa lost five wickets for 16 in just 39 balls.
Indian skipper Mahendra Singh Dhoni had rotated his three quicker bowlers all day as R Ashwin (0 for 25) bowled only six overs in the South African innings.
Perhaps they were tired towards the end, as du Plessis played with patience and Philander threw his bat around to put together 67 runs for the seventh wicket, taking them to stability. .
Earlier, South Africa seemed to be in a solid position, scoring 118 for 1 at tea. Smith scored his 38th Test fifty - and his eighth against India - beginning the post-lunch session at 22 for no loss.
They only lost the wicket of opener Alviro Peterson (21), a sharp incoming delivery from Ishant trapping him LBW in the 14th over.
Amla and Smith then frustrated the Indian bowlers, who toiled hard and bowled better line and length as compared to the Proteas' attack on day one.
Smith was lucky as Zaheer induced an edge in 17th over of the innings, only for Ashwin to drop him at first slip. Smith was on 19 at that time. Thereafter they brought up their 50-run partnership in the 25th over, striking Ishant for two fours. The hundred for South Africa came up in the 31st over.
In the morning session, South Africa dismissed India for 280 runs in their first innings, their last five wickets falling for just 25 runs. India had begun the day at 255 for 5. Philander finished with 4 for 61 from 27 overs, while Morkel picked 3 for 34.
Dale Steyn bowled three overs on the second morning but he failed to add to his tally, finishing with 1 for 61. Kallis (1 for 37) took a wicket as well, while Imran Tahir (0 for 47) and Duminy (0 for 30) had gone wicket-less in their short spells on day one. For India, R Ashwin was the unbeaten batsman, 13 not out off 11 balls, with one four.
Starting at their overnight score, Dhoni and Ajinkya Rahane looked to build on the platform provided by Virat Kohli's hundred. The former was accounted by Morkel in the 99th over, out for 19 runs adding only two from Wednesday. He faced 72 balls and hit three fours.
In the very next over, Philander made the ball leave off-stump just a tad and Rahane was out caught behind. He made 47 runs, adding only five to his overnight score, as India's hopes for a 350-plus total were undone. He faced 137 balls and hit eight fours in his long stay at the wicket.
Philander then trapped Zaheer Khan (first-ball-duck) plumb off his next ball, and although Ishant denied him a hat-trick, he was bowled in the 102nd over for an 11-ball duck. Morkel then bowled Shami (0), finishing off the visitors' first innings.
(With inputs from PTI)