Openers Rohit Sharma and Shikhar Dhawan hit centuries to steer an imperious India to a nine-wicket win over a listless Pakistan in the Asia Cup match in Dubai on Sunday.
Rohit notched 111no (119) for his 19th one-day hundred while Dhawan made a 114 (100) for his eighth century as the pair put on 210 for the opening stand – second-best in all India-Pakistan one-day internationals – to see India overhaul a target of 238 with 10.3 overs to spare.
The Super four win is the second for India over their arch-rivals following their easy eight-wicket win in the first round.
Bangladesh beat Afghanistan by three runs in a last ball fionish in Abu Dhabi which meant India sailed into the September 28 final in Dubai.
Pakistan and Bangladesh meet in Abu Dhabi on Wednesday to decide the second finalist.
The win is India's highest against Pakistan in terms of wickets, improving on the eight-wicket win over Pakistan in Melbourne in 1985.
Pakistan were steered to 7-237 by Shoaib Malik who made a 90-ball 78 after winning the toss and batting but it proved too little for the strong Indian batting line.
Pakistan could have had the vital wicket of Rohit out in the sixth over but Imam-ul-Haq dropped an easy catch off a luckless Shaheen Afridi, allowing the Indian to smash seven fours and four sixes.
Rohit, who scored back-to-back fifties in the previous two games, also became the ninth Indian batsman to complete 7,000 one-day runs in his 187th match when he reached 94, soon after he was dropped on 81 by Fakhar Zaman off Shadab Khan.
Dhawan matched his skipper shot for shot, firing a century with 16 fours and two sixes.
Pakistan's pace spearhead Mohammad Amir, brought back in as one of two changes after being dropped for the Afghanistan match, went wicketless for a fifth match in a row, and the side's only breakthrough came when Dhawan was run-out in the 34th over with just 38 runs needed.
"We asked for something like this from the boys," Rohit said. "It was challenging conditions, and it was tough coming out and playing in these conditions. All of them showed great character, it's a good win."
Pakistan captain Sarfraz Ahmed said: "Tough game, we did well with the bat.
"If we keep dropping catches, we won't win games. We've done hard work at fielding. So I'm not sure what's going wrong."
Earlier, Malik scored a 90-ball 78 with four fours and two sixes, but India kept a tight check on Pakistan's progress.
Pakistan lost Imam (10), Zaman (31) and Babar Azam (9) in an unimpressive start to their innings before Malik and skipper Sarfraz Ahmed added 107 for the fourth wicket.
Sarfraz scored a slow 66-ball 44 with only two boundaries before he became one of two wickets for Kuldeep Yadav (2-41).