Kallis hit an unbeaten 92 as South Africa overhauled Kenya's total of 222 for nine with 14.3 overs to spare.
That Kenya were able to post a respectable total was mainly due to teenage opening batsman Seren Waters, who hit a solid half-century.
Waters, 18, scored 74 as Kenya made first use of a good batting pitch.
Playing in his fourth one-day international after making his debut against Ireland in Nairobi last month, Waters advanced cautiously to a maiden half-century off 105 balls. He then unleashed some impressive attacking strokes, including a six over long-off against South African debutant Johann Louw.
Waters, who was educated at Cranleigh school in England and has played for Surrey second XI, hit nine fours and a six in a 116-ball innings which was ended when he missed a drive against Albie Morkel and was bowled.
Waters and Thomas Odoyo provided substance to the Kenyan innings with a fourth wicket stand of 88 after the tourists had been reduced to 63 for three when the hard-hitting Alex Obanda and star batsman and captain Steve Tikolo were dismissed in the space of nine balls.
South Africa lost Herschelle Gibbs after only two runs were scored in the first three overs of their reply.
Hashim Amla took 16 balls to score his first run but then played a succession of attacking strokes to make 78 off 76 balls. He dominated a second wicket stand of 118 with Kallis.
Kallis then took over and finished with 92 off 94 balls, sealing the match with a six off a free-hit no-ball by Elijah Otieno.
It was the second successive half-century by Kallis, who made 71 when South Africa won the first match by 159 runs in Bloemfontein Friday.
Kallis, who had a disappointing tour of England earlier in the year, said he had worked hard during the off season with former Western Province and England coach Duncan Fletcher.
"It's nice that the hard work has paid off," he said. "You never stop learning in this game. The slight technical changes I have made have opened up a few new scoring options for me."
South African captain Johan Botha said he was satisfied with the team's performance over the two games but said there was room for improvement ahead of a Twenty20 international and three one-day internationals against Bangladesh, starting Wednesday.