Ishant and Praveen, who bowled to an extremely tidy line and length, returned with the figures of 4/41 and 4/31 respectively. Kapugedera top-scored for Lankans with a sensible 86-ball 57 while Jayasuriya (34) and Sanga (33) chipped in with some useful contributions.
Lankans put in to bat first in the must-win tie, got off to a bright start despite losing rookie opener Dilruwan Perera in the fourth over of their innings.
Jayasuriya and Sanga then on added a brisk 58 runs for the second wicket. The Matara Maruder who has a special liking for Indian attack along with in-form Sanga looked set for a big total. The left-hand duo cut, drove and pulled with elan as the Islanders raced to fifty in 10th over. Sanath hit two boundaries and a six off Ishant over covers in his 44-ball knock.
Just when things were looking rosy for Lankans, Praveen who replaced Sehwag, made a dent in the Lankans line-up. The young seamer from UP started the rot with a short-pitched one on just outside the off-stump line inducing Sanga to edge for a regulation catch to wicketkeeper Dhoni. He then sent Mahela and Chamara Silva packing in quick succession to reduce Lankans to 81/4 in 19 overs.
Praveen, a predominently in-swing bowler, swung the ball both ways and rarely erred in line and length too return with career-best haul.
In the following over Pathan removed Jayasuriya after the opener top-edged a pull shot only to find Dhoni's safe pair of gloves.
Dilshan came and went in a jiffy. The fiesty Lankan all-rounder who guided his side home in a rain-truncated game against India last week was trapped plumb in-front by Ishant. The lanky seamer then dismissed Vaas caught Uthappa to leave Islanders in dire straits.
Kapugedera staged a wonderful recovery act with tail enders. He shared 46-run stand with Malinga and added 40 runs with Murali to help his side post a modest total.
Sri Lanka 179 all out in 47.1 (Kapugedera 57, Jayasuriya 34, Sangakkara 33; Praveen Kumar 4 for 31, Ishant 4 for 41) Vs India.