Ingram smashed 105 not out from 104 balls, including 10 fours, to help the hosts post an imposing total of 315 for four.
The tourists never looked like chasing it down, Kleinveldt doing the majority of the damage with four for 22 and a run out as Pakistan were bowled out for 190 inside 37 overs.
Ingram put on a third-wicket stand of 120 with captain AB de Villiers (65) to take the match away from their opponents in the morning, but Pakistan could only manage a biggest partnership of 49 as wickets fell at regular intervals.
Kleinveldt started it off by having Nasir Jamshed caught at first slip by Graeme Smith for 25.
The quick than ran out Mohammad Hafeez (25), backing up at the bowler's end.
Pakistan slipped to 65 for three when Asad Shafiq (five) was caught at fine leg by Kyle Abbott off Ryan McLaren.
Younis Khan and Misbah-ul-Haq briefly threatened a recovery, but first Younis edged an Abbott delivery behind to wicketkeeper De Villiers for 30 and, three overs later, De Villiers sent Misbah packing for 38, taking the catch after the batsman gloved another McLaren ball.
McLaren got his third wicket to remove Kamran Akmal, finishing with figures of three for 19, before Lonwabo Tsotsobe did for Shoaib Malik (19) and Kleinveldt polished off the tail.
Shahid Afridi hit a quickfire 34 from 16 balls, including three sixes and two fours, but when he became Kleinveldt's fourth victim the game was up.