Tahir wrecked Pakistan's middle order with figures of 4-53 to bowl them out for 191 in 44.3 overs after they were set a challenging 260-run target at Sheikh Zayed Stadium.
The emphatic win gives South Africa a 2-1 lead in the five-match series.
Both teams will meet again at the same venue on Friday before the series is rounded off in Sharjah on Monday.
South Africa won the first match in Sharjah by one run while Pakistan won the second match in Dubai by 66 runs.
More From This Section
Tahir trapped Misbah-ul Haq (19), caught and bowled Umar Akmal (seven) and Asad Shafiq (11) caught at cover to leave Pakistan struggling at 116-7.
Wahab Riaz, who top-scored with 33, added 61 for the eighth wicket with Sohail Tanvie (31) but it only delayed the inevitable.
Pakistan had raced to 50 by eighth over as Ahmed Shehzad, who hit half-centuries in the first two games, hit three boundaries off Lonwabo Tsotsobe in the fourth over and then added two more off Morne Morkel in the next.
Two runs later, Mohammad Hafeez played Morkel (2-35) straight into the hands of point after making 15.
Misbah and Umar Amin (13) attacked Tahir with four boundaries in his first two overs but the leg-spinner had the last laugh, taking three wickets in the space of 31 runs.