India need to win the contest to avoid first-round elimination after their shock defeat against Bangladesh last week.
Silva, 27, struck 59 for his third successive half century before he was dismissed for the first time in four games.
He raised a brisk 83-run fifth wicket stand with Tillakaratne Dilshan (38) in 80 deliveries.
Left-hander Tharanga top-scored with 64 to steady the innings after Indian pacemen Zaheer Khan and Ajit Agarkar struck early blows in helpful conditions after Rahul Dravid had asked Sri Lanka to bat.
India, with a formidable line-up, would back themselves to reach the target on a good batting pitch.
Sri Lanka look set to progress to Super Eights regardless of the result but Bangladesh would need to avoid defeat against debutants Bermuda if India lose.
Zaheer had the dangerous Sanath Jayasuriya (6) miscuing to be caught at deep third man before Agarkar had skipper Mahela Jayawardene (7) nicking a leg-side catch to a diving wicketkeeper Mahendra Dhoni.
Kumar Sangakkara departed for 15 runs to reduce Sri Lanka to 92 for three in the 24th over after he lofted occasional seamer Saurav Ganguly to long-on.
Tharanga kept his cool to anchor the innings and reach his sixth fifty until Sachin Tendulkar trapped him leg before with a slow, swinging, delivery.
The 22-year-old drove both Agarkar and Zaheer over cover for two early fours and cut Ganguly past point for four. He hit six fours in his 90-ball knock.
Silva, who had scored 107, 55 and 52 without being out before Friday's match eventually fell, nicking Zaheer behind the stumps in a bid to step up scoring.
Sri Lanka left out all-rounder Farveez Maharoof due to an ankle niggle and included Dilhara Fernando as the third paceman. Off-break bowler Harbhajan Singh replaced leggie Anil Kumble as the lone spin specialist for India.
The seven-week event concludes with the final in Barbados on April 28.
Sri Lanka 254 for 6 in 50 overs (Upul Tharanga 64, Chamara Silva 59, Dilshan 38; Zaheer Khan 2 for 49, Agarkar 1 for 31, Patel 1 for 46) Vs India (yet to bat).