The Proteas were in trouble at 29 for three, chasing a seemingly modest 119 for victory. But opener Kallis, returning to international duty after being rested from the drawn one-day series between the two countries, made 48 not out of 44 balls with seven fours.
Together with left-hander JP Duminy (47 not out) he shared an unbroken stand of 90 in 91 deliveries as the Proteas, who won with an over to spare, went 1-0 up in a three-match series ahead of this month's World Twenty20 in Sri Lanka.
South Africa saw hard-hitting opener Richard Levi caught in the slips off Jade Dernbach and Twenty20 international debutant Faf du Plessis lbw to fast bowler Steven Finn. De Villiers, who helped Hashim Amla add 172 in South Africa's seven-wicket win in the fifth one-day international at Trent Bridge on Wednesday which squared that series at 2-2, was then caught behind by Craig Kieswetter, a former Proteas junior international, off South Africa-born seamer Dernbach for 10.