The series deciding match, after both teams won two matches each, started on a dramatic note when Pakistan wicket-keeper Zulqarnain Haider went missing from the team hotel and did not come to the ground.
Pakistan Cricket Board later said they will launch an inquiry into Haider's case after he, without informing team management, reportedly reached London after receiving threats from persons unknown.
It was Kallis who built South African innings after Smith won the toss and decided to bat.
Kallis propelled the total during his 95-ball innings, adding an invaluable 121 with AB de Villiers (61) for the third wicket and another 61 for the second wicket with Hashim Amla (62).
When Kallis reached 81, he completed 11,000 one-day runs in his 307th match. He became the sixth batsmen to score 11,000 or more runs in
50-over format of the game.
Graeme Smith (14) and Amla started at brisk pace to take their team to 37 inside five overs, when Akhtar removed the South African skipper, caught by Afridi. All-rounder Jacques Kallis scored a brilliant half-century and took three wickets to guide South Africa to a commanding 57-run win over Pakistan in the fifth and final one-day international here on Monday.
The 35-year-old scored 83 - one of four half-centuries in the innings - to steer South Africa to an imposing 317-5 before he took 3-30 to dismiss Pakistan for 260 in reply, giving
South Africa a 3-2 series win.
Pakistan, hoping to win their first-ever bilateral series win over South Africa, were cruising along nicely with openers Mohammad Hafeez (59) and Shahzaib Hasan (39) gave them a robust 82-run start in their quest for their third best-ever chase in
one-day cricket.
But Kallis derailed Pakistan's innings with a triple strike in as many overs, removing Hasan, Younis Khan (three) and Mohammad Yousuf (three) off 13 balls to make his opponents struggle from 82-0 to 96-3.
As if his batting and bowling were not enough, Kallis took a well-judged catch at long-on off fellow paceman Dale Steyn to dismiss Hafeez in the 23rd over.