Sri Lanka are through to the One-Day International tri-series final after demolishing India by eight wickets at Dambulla on Monday.
Seamer Thisara Perera sealed Sri Lanka's finals berth with a five-wicket haul as India crumbled to 103 all out, before Tillakaratne Dilshan and Mahela Jayawardene's blistering 79-run opening stand put the result beyond doubt.
Sri Lankan quick Nuwan Kulasekara started the rot in the fifth over, trapping Virender Sehwag in front for 12 with a big inswinger that would have feathered leg stump.
Dinesh Karthik fell two overs later for nine, caught behind to a Kulasekara delivery that straightened outside off, though replays were unable to confirm the edge.
Angelo Mathews had Rohit Sharma LBW for 11 in the 13th over to leave India teetering at 50-3 before Perera got involved.
When he did, he dismissed Suresh Raina with his second ball as he began a devastating spell that at one point had netted him 13-4 in five overs.
The Sri Lankan quick had MS Dhoni caught behind in the 22nd over before snaring Ravindra Jadeja and Praveen Kumar with consecutive balls in the 26th.
Yuvraj Singh offered some resistance in his return from illness to top-score with 38 before Lasith Malinga trapped him in front and mopped up the tail to wind up India's innings.
With such a meagre target the Sri Lankan openers could have been forgiven for taking it slowly, but Dilshan and Jayawardene slashed their way to 50 in six overs with some punchy hitting.
Ishant Sharma eventually collected both openers in the 10th over, with Dilshan skying a lofted drive to mid-off on 35 and Jayawardene picking out midwicket with a mistimed pull one delivery later on 33, but at 79-2 the damage had been done.
New batsmen Sangakkara and Upul Tharanga were a little more circumspect, taking 34 deliveries to polish off the remaining 25 runs as the Sri Lankans ran out convincing winners.
India must now regroup to take on New Zealand on Wednesday, with the winner to face Sri Lanka in the final on August 28.