Harbhajan Singh smashed the penultimate ball from Mohammad Aamer for a six as India knocked Pakistan out of the Asia Cup with a three-wicket win on Saturday. Harbhajan's last-gasp shot over the midwicket fence helped India past Pakistan's 267 with one ball to spare in a heart-stopping finish at the Rangiri stadium in Dambulla. India scored 52 runs in the last five overs after the sixth wicket had fallen at 219, with Suresh Raina making 34 off 27 balls and Harbhajan an unbeaten 15 off 11. The exciting victory lifted both India and hosts Sri Lanka into the June 24 final with two wins each and rendered the last two league matches inconsequential. Pakistan and Bangladesh, who have yet to win a game, play each other on Monday, while India and Sri Lanka clash on Tuesday in a dress rehearsal for the final. Barely 2,000 Sri Lankan fans were on hand to watch a rare clash between the arch-rivals, only their second one-day encounter in the past two years. Opener Gautam Gambhir hit 83 off 97 balls and skipper Mahendra Singh Dhoni chipped in with 57 during a third-wicket stand of 97 which lifted India to 180-2 in the 36th over. But Gambhir's dismissal at that stage, bowled by Saeed Ajmal, triggered a middle-order collapse which saw four wickets fall for the addition of 39 runs. Dhoni was bowled by Shoaib Malik and Rohit Sharma was trapped leg-before by Pakistan captain Shahid Afridi, before Ajmal removed Ravindra Jadeja to make it 219-6 in the 46th over. Raina and Harbhajan then stepped in to lead a brilliant recovery and crush a valiant Pakistan side's hopes of staying alive in the tournament. For Pakistan, opener Salman Butt top-scored with 74 and Kamran Akmal hit 51 off 41 balls after Afridi won the toss and elected to bat in the day-night international. 