India had a decent-looking 264 for 9 on the board; but four dropped catches, one missed stumping and a sublime Kumar Sangakkara century put Virat Kohli's hopes of winning to bed and allowed Sri Lanka a hard-fought two-wicket win in the Asia Cup encounter on Friday at Fatullah.
Sangakkara stayed cool and perhaps aware of the fact that India had no Lasith Malinga in their ranks to do the damage in the death overs. That and Sangakkara's missed stumping by Dinesh Karthik proved to be the game-changing moments as the former Sri Lanka skipper hit 103 - his 18th ODI hundred - off just 84 balls to lead his side home.
Mohammad Shami took wickets but was way too expensive for his captain's liking as he gave away 81 runs in his 10 overs to account for three Sri Lankans. Ravindra Jadeja 3 for 30 and R Ashwin 2 for 42 kept India in the game, but Sri Lanka found the going easy once the spin duo had bowled out.
In a match of several twists and turns, Sri Lanka had the upper hand to begin the 265-run chase as India dropped crucial catches, including two by Jadeja and one by Ajinkya Rahane - two of India's better fielders.
Making full use of India's sloppy fielding, the in-form opening duo of Kusal Perera (64) and Lahiru Thirimanne (38) gave the Lankans a solid start of 80 runs, before Ashwin and Jadeja struck.
India had limited spin resources with two specialists in Ashwin and Jadeja, and Kohli had to squeeze in five overs from Rohit Sharma's part-time offspin as medium pacer Stuart Binny could not make any impact.
Sri Lanka were cruising at 134 for 1 after the butterfingered Indian fielders grassed a few chances. Jadeja, who scalped two wickets in two balls, and Aswhin, brought the Indians back but Sangakkara stood firm until the penultimate over, striking 12 boundaries and a six in his knock.
Continuing his dream run in Bangladesh that includes one triple century, three centuries and two half-centuries across Test and ODI formats, Sangakkara looked in complete control even as he lacked support at the other end, after the departure of Kusal Perera (64).
With his team under pressure, the experienced campaigner ensured that he took Sri Lanka close to the target as he completed his 18th ODI century with a boundary in 83 balls, only to be dismissed by Shami the next ball.
By the time he was dismissed, the Lankans were close to the finishing line, requiring seven runs from nine balls. With the scores levelled in the penultimate over, it was as good as over for India as they dropped their fourth catch, this time Dhawan goofing up at mid-off.
Earlier, after being asked to bat, Shikhar Dhawan's 94 held the Indian innings together, but none of the other Indian batsman could kick on against Lankan spinners Ajantha Mendis (4 for 60) and Sachithra Senanayake (3 for 41), who shared seven wickets between them after Angelo Mathews put India in to bat.
Dhawan and Kohli (48) led India's recovery in a 97-run second wicket partnership after Rohit departed early, dismissed by Senanayake for just 13.
Mendis castled Kohli and Dhawan with his carrom ball as the new-look Indian middle order struggled in the absence of Mahendra Singh Dhoni. Ajinkya Rahane (22) and Ambati Rayudu (18) looked good but could not covert their starts while Stuart Binny did not trouble the scorers after being packed off for a nought.
It was only due to two late sixes by Shami (14 off 7) that India were able to cross 260.
The win took Sri Lanka to the top of table with 8 points from two matches, followed by Pakistan who are at five. India find themselves in the third position with 4 points and will now have to beat Pakistan on Sunday to keep their chances of reaching the final alive. Bangladesh and Afghanistan haven't opened their account yet.
(With PTI inputs)