Philander took three for 26 in a Pakistan total of 179 all out. South Africa made heavy weather of the chase but won with 68 balls to spare, steered home by an unbeaten 48 from captain AB de Villiers.
Pakistan's Misbah-ul-Haq also played a captain's innings, making 79 not out. But no other Pakistan batsman scored more than 25.
Philander, recently recalled to the one-day side after starring for the South African Test team, struck with the fourth ball of the match when Ahmed Shehzad was caught at first slip without scoring. Shehzad made a century when Pakistan clinched the series by winning the second match in Port Elizabeth on Wednesday.
The best stand of the innings was 51 for the eighth wicket between Misbah and Abdur Rehman (22).
More From This Section
South Africa made a fast start, with Quinton de Kock and Hashim Amla putting on 39 on 35 balls for the first wicket before De Kock mistimed a hook against Bilamal Bhatti and was caught at backward square leg.
The momentum slowed as new cap Henry Davids was tied down by Saeed Ajmal before being stumped off the off-spinner after struggling to seven off 18 balls. Davids was a late replacement for Graeme Smith, who was absent because of a family bereavement.
In contrast to his dazzling 74 off 45 balls in Port Elizabeth, where he played one big shot too many and was out before South Africa "crossed the line", in his words, De Villiers played a risk-free innings to ensure that South Africa successfully chased down a target for the first time in eight recent attempts, facing 63 balls and hitting only three boundaries.
Ajmal was again the best Pakistan bowling, taking two for 34 in 10 overs. With the series decided, both sides showed several changes.