The Indians, trailing by 202 runs on the first innings, were bowled out for 241 in their second innings just before lunch on the fourth day at the Gaddafi stadium in Lahore on Thursday.
Pakistan, set a modest target of 40, lost opener Imran Farhat for nine before Taufiq Umer and Yasir Hameed guided the hosts home to an emphatic victory 25 minutes after lunch.
The decisive final Test begins in Rawalpindi on Tuesday for which India's regular captain Sourav Ganguly will be back after missing the first two matches due to a back injury.
India, on their first full tour of Pakistan since 1989, had won the first Test at Multan by an innings and 52 runs last week.
But the tourists' acclaimed batting line-up mustered only 287 and 241 in Lahore on the greenish wicket, while Pakistan scored 489 in their first innings.
This was the fourth time in the last three years - after Zimbabwe, the West Indies and Australia - that India had allowed the opposition to bounce back after taking the lead in an overseas series.
"Pakistan played better than us and deserved to win this Test, but we are very excited at the prospect of playing the decider in Rawalpindi," said India's stand-in captain Rahul Dravid.
"We should have batted better in this match, but at least we fought till the end which is a good sign."
Pakistan skipper Inzamam-ul-Haq said the criticism from fans and the media before the match had made his team determined to fight back.
"There was a lot of pressure on us, but we were not worried because my team was good enough to win," he said.
"We played to our potential in this game and won. I hope we can continue like this at Rawalpindi too."
India, who started the fourth day at 149 for five, were saved the blushes by young wicketkeeper Parthiv Patel, who hit a defiant 62 not out.
Virender Sehwag, India's last recognised batsman at the crease, added four runs to his overnight score of 86 when he was caught behind off Shoaib Akhtar's bowling.
Patel, who had added 55 runs for the sixth wicket with Sehwag, put on 75 for the eighth with Ajit Agarkar (36) to save India the embarrassment of an innings defeat.
Akhtar finished with 3-62, his best bowling performance in the series so far.
Leg-spinner Danish Kaneria, who claimed three of the five wickets to fall on Thursday morning, returned with 3-14 from 6.4 overs.
Akhtar struck twice in his fourth over of the day when he dismissed Sehwag and Irfan Pathan in the space of five deliveries.
Sehwag, who hit an epic 309 in the first Test, hit 14 boundaries during his 145-minute resistance against the inspired Pakistan attack.
Pathan survived four balls before he was caught off Akhtar's rising delivery for zero to leave India at 160 for seven.
Agarkar hit Umar Gul to the cover boundary to help India avert the innings defeat.
Agarkar then launched an attack on Kaneria, hitting him for two boundaries before the leg-spinner spun one sharply to have him caught in the slips.
Patel hit Mohammad Sami for two consecutive boundaries to equal his previous best of 62 against Australia at Sydney last year, but at the other end Kaneria claimed Anil Kumble, stumped by wicketkeeper Kamran Akmal.
Kaneria wrapped up the innings by trapping last man Laxmipathy Balaji leg-before just before the lunch break.