Ganguly was axed as the skipper last year
The 34-year-old batsman was axed as skipper last year before being eased out of the Test and one-day squads.
Veteran batsman VVS Laxman, 32, has also returned to the Indian squad as the new vice captain.
South Africa already have an unassailable 3-0 lead in the one-day international series which ends on Sunday.
"At the present moment, I have been selected and I am happy," Ganguly told reporters after the new team was announced.
Ganguly, India's most successful captain, will bring much-needed experience to the predominantly young team, which has been reeling under a string of successive defeats in one-day internationals.
India has lost 11 of the last 15 one-day matches.
Ganguly is an experienced player and India needs him
Mohinder Amarnath, ex-skipper
The return of Ganguly and Laxman points to the fact that the Indian selectors are returning to experienced players after the recent dismal run.
The return of the two also puts a big question mark on the strategies of Indian coach Greg Chappell who has often spoken about young players leading India's campaign in next year's World Cup in West Indies.
Ganguly lost the captaincy last October after a public row with coach Chappell and was then dropped from the Test side during the tour to Pakistan earlier this year.
Most ex-cricketers welcomed the return of Ganguly and Laxman to the squad.
"Ganguly is not old, he is an experienced player and India needs him and Laxman. Lets hope they do well," ex-batsman Mohinder Amarnath told a news channel.
Laxman has returned to the team as the new vice-captain
The left-hander has scored 10,123 runs in 279 one-dayers but his last ODI match was in September 2005 in Zimbabwe.
His five-week stint at Northamptonshire this year was far from impressive and his performance in the Indian domestic circuit has been mixed.
Ganguly's Test record since 2005 has also been mediocre - he scored 320 runs in nine matches at an average of 26.66.
India Test squad to face South Africa: Rahul Dravid, VVS Laxman, Saurav Ganguly, VRV Singh, Virender Sehwag, Sachin Tendulkar, Mahendra Dhoni, Wasim Jaffar, Irfan Pathan, Gautam Gambhir, Shantakumaran Sreesanth, Munaf Patel, Harbhajan Singh, Anil Kumble, Zaheer Khan, Dinesh Karthik.
The ex-Indian cricket team captain Sourav Ganguly has made a comeback in the Test team after he was unceremoniously dropped for ten months.

Ganguly is expected to play the first test match of the series against South Africa commencing on December 15.

Chairman of selection pane for the Indian team Dilip Vengsarkar said that the team batting had failed in one-dayers in the current series, so there is need to bring back experienced players.

VVS Laxman has been appointed as vice-captain of the test team.

Board of Control for Cricket in India (BCCI) president Sharad Pawar cleared the air over Greg Chappell-MP dispute by saying that "What happened in Parliament should have no bearing on the incidents taking place in Protea land,".

Ganguly last played for the team against Pakistan in a test match in Karachi earlier this year.

The sixteen member-team is as follows:

Rahul Dravid (Captain), VVS Laxman (Vice-captain), Wasim Jaffer, Gautam Gambhir, Virender Sehwag, Sachin Tendulkar, Sourav Ganguly, Mahendra Singh Dhoni (Wicketkeeper), Dinesh Kaarthick, Harbhajan Singh, Anil Kumble, Munaf Patel, Irfan Pathan, VRV Singh, Zaheer Khan and S. Sreesanth.