The 38-year-old Kallis, who has 321 one-day international caps, last played in the 50-over format for South Africa against New Zealand in February 2012. His return means Twenty20 captain Faf du Plessis drops out of the ODI squad.
"As well as Ryan McLaren and Wayne Parnell have done as emerging all-rounders, it is very welcome news to have Jacques back as our premium all-rounder," CSA selection convener Andrew Hudson said in a statement.
"There is no substitute for the experience he brings to the game," Hudson added.
"We have a number of young batting talents in the squad such as Quinton de Kock and David Miller and the more experience they have around them, the better it will be for their development."
Test captain Graeme Smith also returns to the squad after recovering from a head injury suffered in the United Arab Emirates earlier this month, where South Africa beat Pakistan 4-1 in a five-match limited-overs series.
South Africa will play World Cup winners India on December 5 (Johannesburg), December 8 (Durban) and December 11 (Pretoria).
Squad: AB de Villiers (captain), Hashim Amla, Quinton de Kock, JP Duminy, Imran Tahir, Jacques Kallis, Ryan McLaren, David Miller, Morne Morkel, Wayne Parnell, Vernon Philander, Graeme Smith, Dale Steyn, Lonwabo Tsotsobe.


Latest News from Sports News Desk