Earlier, India skipper Rohit Sharma smacked 72 off 41 balls as India made 173-8 against Sri Lanka in a crucial Super Four clash at the Asia Cup on Tuesday.
Dilshan Madushanka claimed three wickets including Virat Kohli for a duck as late strikes by the Sri Lankan bowlers restricted India's total in the final overs.
Rohit put on 97 runs with Suryakumar Yadav (34) after India, who lost their Super Four opener against Pakistan, lost two early wickets in a match they need to win to stay in the hunt for a final spot.
Sri Lanka, who can all but seal a place in Sunday's final with victory, won a crucial toss and put India in to bat.
Kohli fell for a fourth ball duck after Madushanka, a left-arm quick who returned figures of 3-24, bowled the star batsman with a length delivery.
Kohli, who struck form after an extended batting slump with two successive half-centuries in the tournament, walked back to stunned silence from a sparse crowd dominated by Indian fans.
Rohit hit back with boundaries and smashed fast bowler Asitha Fernando for a six and four in successive balls to improve the scoring in the first six overs of the powerplay.
The captain kept up the attack with Suryakumar for company and raised his fifty in 32 balls with a boundary.
He cracked two more sixes and one four before picking out the fielder at deep point in an attempt to go for another big hit off Chamika Karunaratne.
Skipper Dasun Shanaka soon cut short Suryakumar's stay with a slower ball that had the batsman caught at short third man and then got the dangerous Hardik Pandya for 17.
Madushanka struck twice in his final over as India lost four wickets in the final five overs.