Both Imran Tahir and Dane Piedt returned to the squad to join incumbent Simon Harmer for a three-pronged spin attack.
"We want to keep all our options open for the Test Series," commented CSA selection convener, Linda Zondi.
"We also have JP Duminy as an option in this department and I believe we have covered all our bases by having both holding and attacking spin options in our squad. It is good to have Dane back from his injury and Imran was our No. 1 spinner for our last Test series on the sub-continent against Sri Lanka," he added.
"It is very important that we maintain consistency in our selections and Dane hardly had the chance to make his mark in Bangladesh where the series was so badly disrupted by the weather."
More From This Section
Tahir also returns to the Proteas T20 squad in place of Aaron Phangiso while there are also recalls for Chris Morris and Marchant de Lange.
"The tour to India is a very long one," emphasised Zondi.
"It lasts for more than two months and we can't expect Dale Steyn and Morne Morkel to field too heavy a workload. Chris comes back after a spell out through injury while Marchant has done well at the IPL. It is an ideal opportunity to explore our back-up options ahead of the ICC World Twenty20 which will be played in India. It is vital in this format to get wickets up front.
"Chris is also a potential candidate for a position as a bowling all-rounder in the ODI team so this is another option we want to explore. We also believe he is well suited to the conditions we will encounter there."
Test squad: Hashim Amla (capt), AB de Villiers (vice-capt), Temba Bavuma, JP Duminy (Cape Cobras), Faf du Plessis, Dean Elgar, Simon Harmer, Imran Tahir, Morne Morkel, Vernon Philander, Dane Piedt, Kagiso Rabada, Dale Stey, Stiaan van Zyl), Dane Vilas.
T20 squad: Faf du Plessis (capt), Kyle Abbott, Hashim Amla, Farhaan Behardien, Quinton de Kock, Marchant de Lange, AB de Villiers, JP Duminy, Imran Tahir, Eddie Leie, David Miller, Chris Morris, Kagiso Rabada, David Wiese, Khaya Zondo.