Unbeaten India can book their spot in the Asia Cup final with a win over Sri Lanka in Dhaka on Tuesday.
With two wins from as many games, MS Dhoni's team are top of the table and closing in on the decider.
A victory over Sri Lanka would assure them of a top-two finish and a spot in the final for the first time since 2010.
India's wins at the 2016 edition have come against Bangladesh and Pakistan, the latter after they bowled their rivals out for just 83.
Virat Kohli (49) led their chase as they reached their target with 27 balls remaining.
"All in all it was a wonderful game for us. It tested the batsmen a bit but that is what you need, you need challenges in every game that you play," he told BCCI.tv.
"You don't want to get complacent as a team and you got to respect the opposition and the conditions which is exactly what happened today."
Sri Lanka's chances of reaching the final were dealt a huge blow with a 23-run loss to Bangladesh on Sunday.
Chasing 148 for victory, they managed just 124-8 as they slipped to a 1-1 win-loss record.
Having beaten the United Arab Emirates by 14 runs to start their tournament, Sri Lanka sit third in the table.
Dinesh Chandimal (87 runs) has led his team with the bat, while Lasith Malinga and Nuwan Kulasekara have each taken four wickets.
Another loss would be a huge blow to Sri Lanka's chances of reaching the final as they look to rebound from their shock defeat to Bangladesh.