Defending champions India went perilously close to elimination after a six-wicket defeat against Sri Lanka in their super four stage match of the Asia Cup here on Tuesday.
The result left the Men in Blue at the mercy of the other teams to have a chance of making it to the final. It also meant that India skipper Rohit Sharma's scintillating 41-ball 72 went in vain, as the islanders completed a chase of 174 with a ball to spare.
Needing 21 in 12 balls, Sri Lanka scored 14 runs off the penultimate over bowled by Bhuvneshwar Kumar, almost sealing it in their favour.
India will be out of the tournament if Pakistan beat Afghanistan on Wednesday.
Chasing what looked like a par score at the innings break, the Sri Lankans were off to a blazing start with openers Kusal Mendis (57 off 37 balls) and Pathum Nissanka (52 off 37 balls) putting on 91 runs at a brisk rate.
The fifty was up in the sixth over with both batters regularly finding the gaps and the boundaries with consummate ease, putting tremendous pressure on the Indian bowling attack that looked clueless against the positive approach adopted by the two Lankan batters.
However, leg-spinner Yuzvendra Chahal had other ideas as he struck twice in the 12th over to put the brakes on Sri Lanka's march.
Ravichandran Ashwin sent back Danushka Gunathilaka (1) to leave Sri Lanka in a spot of bother at 110 for three in the 14th over.
In the first ball of the next over, Sri Lanka suffered a body blow as Chahal got the big wicket of Mendis, who was trapped lbw in front of the wicket.
But Sri Lanka skipper Dasun Shanaka and (33 not out) and Bhanuka Rajapaksa (25 not out) remained till the end to complete the task for their team with a match-winning, fifth-wicket partnership of 64 runs.
Earlier, Rohit led by example with his fine knock.
Rohit blazed away after India lost two early wickets, hitting five fours and four sixes during his entertaining knock. He was well supported by Suryakumar Yadav (34 off 29 balls) during a stand of 97 runs for the third wicket.
But Rohit's dismissal triggered a slide as India added 63 runs after being 110 for three in the 13th over, when the skipper got out.
Sri Lanka were off to a dream start as they removed opener KL Rahul (6) and one-down Virat Kohli (0) in quick succession, leaving defending champions India in early trouble at 13 for two in the third over.
Right after getting a boundary with a lofted drive over extra over, Rahul was trapped in front of the wicket by off-spinner Maheesh Theekshana's arm ball in the second over of the game.
Having failed to connect with the ball after coming down the wicket, Rahul had opted for a review but it did not go his way as replays showed the ball going on to hit the leg stump.
In came Kohli, only for the Indian star to walk back to the dressing room after facing four deliveries for his zero, bowled neck and crop by left-arm fast bowler Dilshan Madushanka at the Dubai International Cricket Stadium.
Trying to slog a length ball over midwicket, Kohli missed and his off and middle stumps were disturbed.
Rohit though remained positive and kept the scoreboard moving at a healthy rate, making his intention clear when he played Chamika Karunaratne over wide mid-on for a boundary.
Fast-medium bowler Asitha Fernando was introduced into the attack, and Rohit smashed him for a six and a four off successive balls as 14 runs came in the fifth over.
The Indian captain then hit Theekshana for a four over square leg, helping India score 44 runs in the six powerplay overs.
Leg-spinner Wanindu Hasaranga and Karunaratne then bowled a couple of tight overs, succeeding in containing the duo of Rohit and Suryakumar Yadav.
Meanwhile, Rohit was dropped at extra cover when batting on 40, off Hasaranga's bowling.
Suryakumar brought up his first boundary after playing 12 balls, which was also India's first after a quiet period.
In the next over, Rohit took advantage of his reprieve and whipped Asitha Fernando over deep square-leg for a six, and then reached his half century with a four.
Suryakumar also got into the act, striking Madushanka for a maximum. It was then again Rohit's turn to get a six as the Indian captain danced down the wicket to loft Hasaranga over long-on. He followed that up with a four and then another six.
However, Karunaratne dismissed Rohit in the next over with a slower one.