Pakistan collapsed from 144 for six to 157 all out as India snatched victory in the final one-day international to avoid a series sweep against their rivals.
Pakistan appeared set to complete the whitewash after bowling India out for 167 in Delhi and then getting solid contributions from Misbah-ul-Haq and Nasir Jamshed to close in on their target.
Although fellow opener Kamran Akmal went for a duck and Younis Khan soon followed for six, Jamshed kept his cool to make 34 before being trapped lbw by Ravichandran Ashwin.
Misbah helped the score along to 113 before departing for 39, caught by Ajinkya Rahane off Ashwin in the slips.
With seven balls left and Pakistan still 11 shy of their target, Mohammad Hafeez was caught by Yuvraj Singh at short mid-wicket to give Ishant Sharma his third wicket and wrap up the victory for India. Earlier, Saeed Ajmal had dominated proceedings, taking five for 24 as the hosts were dismissed in 43.4 overs.
Indian skipper MS Dhoni, with an unbeaten century and half-century in the first two games, top-scored with 36 as he hit out with wickets falling regularly around him.
Mohammad Irfan did the early damage as he removed openers Rahane and Gautam Gambhir with just 29 runs on the board. Virat Kohli was dismissed for seven when Junaid found an outside edge to give Younis a low but comfortable catch at second slip, leaving the home side on 37 for three.
India had reached 63 when Yuvraj was squared up by a straight delivery from Hafeez and was bowled for 23.
Suresh Raina went for 31 when he was trapped lbw by Ajmal to leave India on 111 for five. Ashwin went first ball, again lbw to Ajmal who was on a hat-trick with the final ball of his over.
Ravindra Jadeja played a forward defensive to deny Ajmal a hat-trick.
Dhoni responded with a six off the first ball of Hafeez’s next over but perished for 36 when he was caught by Umar Akmal at point off Gul.