Sri Lanka, riding on twin centuries from former captains Tillekaratne Dilshan and Kumar Sangakkara, made things tough for India, who are almost out for the tournament.
Dilshan (160 not out) and Sangakkara (105 from 87 balls) put on a record second-wicket partnership of 200 runs for Sri Lanka. Their century-double was also the biggest ODI partnership at the Bellerive. Dilshan's 160 is also the second highest at the venue after Adam Gilchrist's 172.
Even if India were to achieve the mammoth target, they have to further hope that Australia beat Sri Lanka in the last match before the finals at the Melbourne Cricket Ground Friday.
India skipper Mahendra Singh Dhoni's decision to put Sri Lanka to bat back-fired as Dilshan and Sangakkara piled on the runs with ease on a batsman-friendly wicket in cool conditions.
Dilshan smacked 11 fours and three sixes, while Sangakkara came back to form with a sublime knock that included eight fours and two sixes.
Dilshan, playing with a sore thumb, reached his century off 132 balls and his 150 just 27 balls later.