Left-handed Smith smashed 90 off 54 balls and Kallis hammered 78 as the Proteas piled up 303-8 from 50 overs after being sent in to bat by the Saurashtra Ranji Trophy team in a practice match here on Wednesday.
Saurashtra were restricted to 227-5 in reply to give South Africa victory by 76 runs in the match played on the outskirts of this western metropolis.
South Africa take on New Zealand in their first Champions Trophy match at the Brabourne stadium here on Monday.
Smith struck 15 boundaries and three sixes during an opening stand of 107 in 13.5 overs with Boeta Dippenaar, who made 33.
Kallis hit 10 fours before being run out and veteran all-rounder Shaun Pollock boosted the total with a quickfire 32 off 28 balls that included two sixes and a boundary.
When the Proteas fielded, fast bowler Makhaya Ntini took two wickets for eight runs from five overs and Andre Nel chipped in with 2-20 from eight overs.
Saurashtra were reduced to 60-4 by the 21st over before the left-handed pair of Shitanshu Kodak and Pratik Mehta put on 161 for the fifth wicket. Kotak remained unbeaten on 82 while Mehta top-scored with 95 before being run out.
South Africa 303-8 in 50 overs (G. Smith 90, B. Dippenaar 33, J. Kallis 78) bt Saurashtra 227-5 in 50 overs (S. Kotak 82 not out, P. Mehta 95, M. Ntini 2-8, A. Nel 2-20)