The victory means India will now meet hosts Sri Lanka in Thursday's final.
Chasing Pakistan's 267 all out, captain Mahendra Singh Dhoni's team scraped home in the final over after Harbhajan Singh hoisted Mohammad Aamer for a mid-wicket six.
The run chase was spearheaded by opener Gautam Gambhir who constructed a watchful 83 off 97 balls to take the man of the match award.
Gambhir and Dhoni (56) shared a 98-run partnership for the third wicket.
Earlier, Pakistan won the toss and opener Salman Butt top-scored with 74 in 85 deliveries before the innings received a late boost when wicketkeeper Kamran Akmal slammed three sixes and two fours in a 41-ball 51.
On Friday, Sri Lanka crushed Bangladesh by 126 runs.
Chasing Pakistan's 267 all out, captain Mahendra Singh Dhoni's team scraped home in the final over after Harbhajan Singh hoisted Mohammad Aamer for a mid-wicket six.
The run chase was spearheaded by opener Gautam Gambhir who constructed a watchful 83 off 97 balls to take the man of the match award.
Gambhir and Dhoni (56) shared a 98-run partnership for the third wicket.
Earlier, Pakistan won the toss and opener Salman Butt top-scored with 74 in 85 deliveries before the innings received a late boost when wicketkeeper Kamran Akmal slammed three sixes and two fours in a 41-ball 51.
On Friday, Sri Lanka crushed Bangladesh by 126 runs.


