India claimed a spot in the tri-series finals with a crushing seven-wicket win over Sri Lanka in their one-day match here on Tuesday.
A spectacular middle-order collapse saw Sri Lanka make just 179 from 47.1 overs and India had few problems reaching the target in 32.2 overs, scoring 180 for three.
Although Sri Lanka still have one game remaining in the series, against Australia on Friday, they cannot reach the finals and it has been a disappointing tournament for last year's World Cup finalists.
Importantly for India, star batsman Sachin Tendulkar burst out of his form slump ahead of the finals against Australia with his first half-century of the series.
Tendulkar was back to his brilliant best as he punished the bowlers, hitting three successive boundaries off seamer Ishara Amerasinghe in making 63 from 54 balls, including 10 fours.
Gautam Gambhir continued his impressive form with an unbeaten 63, while Yuvraj Singh looked dangerous with a rapid 36.
Sri Lanka had appeared to be cruising towards a big total at 72 for one after being sent in to bat, with veteran opener Sanath Jayasuriya back in some touch and Kumar Sangakkara continuing his good form.
However, Sangakkara's dismissal for 33, caught behind by Indian captain Mahendra Singh Dhoni from the bowling of the recalled Praveen Kumar, sparked a destructive collapse.
Sri Lanka lost 6-21 in just over 11 overs to slump to 93 for seven.
Kumar, who was named man of the match, and teenage paceman Ishant Sharma did most of the damage, claiming four wickets apiece.
Sharma again impressed with 4-41, while Kumar, playing just his second game of the series, grabbed three wickets in as many overs to tear the heart out of the Sri Lankan batting and finish with 4-31.
The teenager has 13 wickets in the tri-series at 19.46.
Sangakkara was quickly followed back to the pavilion by captain Mahela Jayawardene, caught by Rohit Sharma from the bowling of Kumar for just three.
With the skipper gone, the innings quickly fell apart.
Chamara Silva's struggles continued when he fell for a duck and Jayasuriya then threw his wicket away when he top edged an attempted pull from the bowling of Irfan Pathan on 34.
Tillakaratne Dilshan made just eight and Chaminda Vaas played a poor shot to fall to Sharma for a duck.
It was then left to Chamara Kapugedera and tail-ender Lasith Malinga to add some respectability to the innings, the pair putting on 46 before the latter became Sharma's fourth victim.
Kapugedera showed rare fight late in the innings, making a stylish 57.