A look at who rocked and who flopped for India in the series.
Ravichandran Ashwin (9/10): With 31 wickets in the series, Ashwin was the easy choice for man of the series. Right from the start at Mohali, he was in his elements troubling the South Africans. He found his rhythm and got his variations right. With four five-wicket hauls at an average of just over 11, Ashwin was by far the best bowler in the series. He also chipped in with a fifty at Delhi.
Ravindra Jadeja (8/10): Making a comeback, the left-arm spinner proved to be a perfect foil for Ashwin. He finished the series as the second highest wicket-taker, with 23 scalps at an average of under 11 with two five-wicket hauls. The pitches aided his bowling, but Jadeja must still be credited for utilising the conditions. The challenge for both him and Ashwin now will be to do better abroad.
Ajinkya Rahane (7/10): Going into the final Test at Delhi, Rahane hadn't done much with the bat. But, he was still contributing in the slips with his smart catching. At Kotla though, it all came together for Rahane. He scored a fighting hundred in the first innings, and added a fluent ton in the second to finish the series as the top run-scorer -- 266 runs at an average of 53. Another impressive series for the Mumbai lad.
Amit Mishra (6/10): He was unlucky to play in only two of the four Tests. And although he did not pick up a bucketful of wickets, he made an impact nonetheless. He troubled AB de Villiers and broke crucial partnerships, finishing the series with 7 wickets at an average of 17.28.
Umesh Yadav (5/10): The fast bowler's most significant contribution came on the last day of the series as he knocked over the South African tail with fast, swinging deliveries to smoothen the path for India's victory at Delhi. Yadav must look to build on the impressive show.
Virat Kohli (5/10): The Indian skipper struggled for most part, but came up with the goods at his home ground. Both his 44 and 88 at Delhi were fluent knocks. He finished the series with exactly 200 runs. Kohli did not have much to do as leader, but put on his thinking cap to an extent at Delhi.
Murali Vijay (5/10): Although numbers won't prove so, the Indian opener looked the most compact out in the middle. He displayed good technique while notching up 210 runs at an average of 35, which included starts in all Tests except Delhi.
Cheteshwar Pujara (4/10): The number three bat had a mixed time. He began with a 77 early in the series, but he lost his sheen later on, struggling against spin. Pujara ended with 202 runs, averaging 33.66.
Shikhar Dhawan (3/10): It was back to struggling times for Dhawan. After being exposed by Vernon Philander early in the series, he couldn't find his touch. The southpaw hung around in the subsequent matches, but only managed 150 runs, averaging 25.
Wriddhiman Saha (3/10): He was effective behind the stumps, but his batting remains a worry. Saha managed only 83 runs averaging 16.6. As Dhoni's replacement that is far from enough.
Rohit Sharma (1/10): The Mumbai bat again disappointed. 26 runs in four innings is all he had to show for his efforts. This included one atrocious stroke, for which he was perhaps punished with an unplayable delivery.
Ishant Sharma (1/10): The other Sharma also fared poorly, claiming only one wicket at an average of 115. He hardly threatened.
Varun Aaron (1/10): The fast bowler remained an enigma, managing only two wickets in two Tests.
Stuart Binny (0/10): India once again played him in a Test, not knowing what to really get out of him.
-- By A Cricket Analyst