Sri Lanka posted a 265-run target before India in their last league stage match in ICC World Cup at Headingley on Saturday.
Angelo Mathews' scored his third ODI century, which led his team to a comeback after they were in deep trouble at 55-4 in the 12th over.
Mathews fashioned a rescue in a stand of 124 with Lahiru Thirimanne (53) and 74 with Dhanajaya de Silva (29 not out) to see his team post the challenging total.
Mathews was out for 113 in the 49th over. Sri Lanka is locked out of the semifinals, but would enjoy spoiling India hopes of topping the group.
Indian pacer Jusprit Bumrah took 3 wickets giving away 37 runs in his 10 over.
As of filing this report at 8:15pm on Saturday, India scored 50 runs without losing any wicket after 7 overs. Rohit Sharma was batting on 29 while his opening partner KL Rahul was on the crease with 21 runs.Earlier, winning the toss, Sri Lanka chose to bat first.