India defeated Sri Lanka by 41 runs in a super four match to secure their place in the final of the Asia Cup in Colombo on Tuesday.
Asked to bowl first, left-arm spinner Dunith Wellalage (5/40) took a fifer as Sri Lanka bowled India out for 213.
The spin duo of Wellalage and Charith Asalanka (4/18) wreaked havoc in the middle overs to bundle out India in 49.1 overs after skipper Rohit Sharma won the toss and opted to bat.
Rohit (53) top-scored for India.
There was a brief rain interruption with just three overs remaining in India's innings.
Sri Lanka lost wickets at regular intervals as Kuldeep Yadav returned with impressive figures of 4 for 43, while Jasprit Bumrah (2/30) picked up early wickets to hand India the win.
Sri Lanka were all out for 172 in 41.3 overs.
For Sri Lanka, Wellalage (42 not out) top-scored with the bat after a brilliant bowling display.
India: 213 all out in 49.1 overs (Rohit Sharma 53; Dunith Wellalage 5/40, Charith Asalanka 4/18).
Sri Lanka: 172 all out in 41.3 overs (Dunith Wellalage 42 not out; Kuldeep Yadav 4/43).