South Africa had 18.4 overs to spare after the two men shared an opening partnership of 173.
India, put in to bat, totalled a mediocre 200 for nine. South Africa replied with 201 for one to clinch a 4-0 series win. The first match was washed out.
Smith, who hit seven fours and three sixes, ended a run of poor form in which he scored just one run in his previous three innings. De Villiers faced 98 balls and hit 12 fours and a six in his career-best one-day score.
The openers were eventually separated in the 29th over when Smith's lofted drive to off spinner Harbhajan Singh was caught by Dinesh Karthik at long on but Shaun Pollock smashed 16 off 10 balls to finish the job.
Earlier, Sachin Tendulkar (55) and wicketkeeper batsman Dhoni (44) held India together to take them to a respectable 200 after most of their players had struggled on a pitch that held no perils for the batsmen.
The first Test between South Africa and India starts in Johannesburg on Dec. 15.
Scoreboard
INDIA
V. Sehwag c Boucher b Pollock 11
S.R. Tendulkar c De Villiers b Kemp 55
V.V.S. Laxman c Smith b Pollock 0
D.N. Mongia b Kemp 41
M.S. Dhoni c Nel b Ntini 44
D Karthik c Boucher b Nel 11
I.K. Pathan b Kallis 7
H. Singh c Pollock b Ntini 1
Z Khan not out 16
A.D. Kumble b Ntini 1
EXTRAS: (LB-5, W-8) 13
TOTAL: (9 wkts, 50 overs) 200
FALL OF WICKETS: 1-18, 2-18, 3-103, 4-127, 5-154, 6-173, 7-183, 8-183, 9-200
BOWLING: Pollock 10-4-17-2, Ntini 10-1-32-3 (W-6), Kallis 10-1-56-1 (W-1), Nel 10-1-34-1, Peterson 5-0-33-0, Kemp 5-0-23-2 (W-1)
SOUTH AFRICA
A.B. de Villiers not out 92
G.C. Smith c Karthik b Harbhajan 79
S.M. Pollock not out 16
EXTRAS: (LB-4, NB-5, W-5) 14
TOTAL: (for 1 wkt, 31.2 overs) 201
FALL OF WICKETS: 1-173
BOWLING: Zaheer 7-1-46-0 (W-1), Sreesanth 3.2-0-31-0 (NB-2, W-3), Pathan 6-0-48-0, Harbhajan 8-0-39-1 (NB-3), Kumble 7-0-33-0.
SERIES: South Africa won 4-0.
MAN OF MATCH: Shaun Pollock (Rsa)
UMPIRES: B.L. Doctrove (WIS), I Howell (RSA).
TV UMPIRE: K Hurter (RSA).
MATCH REFEREE: Chris Broad (ENG)
—Reuters