India's lack of a death-over specialist bowler came back to haunt them on Sunday against Pakistan, who played on the weakness of their archrivals thanks to the moment of magic provided by old guard Shahid Afridi whose two sixes in the last over virtually put India out of the tournament with a 1-wicket defeat.
Legspinner Amit Mishra (2 for 28) bowled superbly to keep India in the game defending a moderate 245 for 8, but Mohammad Hafeez's 75 and a late assault of 34* off 18 balls by Afridi dashed India's hopes of a come-from-behind win.
Mohammad Shami bowled a decent spell of 10 overs with figures of 0 for 49, but that left skipper Virat Kohli with Bhuvneshwar Kumar and R Ashwin to bowl the last three overs, where the game swung like a pendulum before settling in Pakistan's favour.
Pakistan needed 10 off the last over and lost the ninth wicket of Saeed Ajmal off the very first ball, but last man Junaid Khan got the single to give the strike back to Afridi who hit back-to-back sixes and win the game for his team.
The win gave Pakistan their second win in three matches, taking them to the top of the table with nine points. Sri Lanka are now second but still have two games in hand. India are third on the table with four points, ahead of Afghanistan on net run rate but level on points. Bangladesh are fifth with two defeats from as many games.
Afridi, who has been inconsistent with the bat hit the first six over deep extra cover and the next over long on as he scored 34 not out in only 18 balls with two fours and three sixes.
Dinesh Karthik's woeful work behind the stumps again cost India dearly as he missed the easiest of stumpings when Ashwin fired one down leg side with Sohaib Maqsood (38), then batting on 21 coming out of charge. Karthik failed to gather the ball and missed the stumping with Pakistan on 167 for 4.
Hafeez (75) and Maqsood added 87 runs for the fifth wicket and after Karthik fluffed his lines, they added another 37 runs which proved to be important in the context of the game.
From 200 for 4, Pakistan slumped to 203 for 6 but then the winners had couple of profitable couple of overs - 45th and 46th when Ravindra Jadeja and Bhuvneshwar went for 13 runs each.
Earlier, Jadeja (52) hit a timely unbeaten half-century as India recovered from a mid-innings collapse to post a modest 245 for 8 in 50 overs.
Opener Rohit Sharma (56), who finally found his touch after a lean patch, and Ambati Rayudu (58) also did their bit but none of the batsman could make it big. However, India had at least something on board to fight for.
Rayudu scored 58 from 62 balls, while Jadeja was unbeaten on 52 from 42 balls.
Experienced spinner Ajmal (3 for 40) bowled nicely in the death overs to remove three batsmen while debutant pacer Mohammad Talha (2 for 22) and offspinner Hafeez (2 for 38) took two wickets apiece.
India now only have a mathematical chance of reaching the final, which depends on results other than than their last match against Afghanistan on March 5.
(with PTI inputs)