India need to reach a target of 275 runs in order to snatch a 2-0 lead in their five-match one-day international series against Sri Lanka in Ahmedabad.
Kusal Perera and Tillakaratne Dilshan opened the batting for the tourists after they won the toss, but it was a poor start as Perera was dismissed for a duck by Umesh Yadav.
After losing a wicket with just four runs on the board, Dilshan and Kumar Sangakkara led the way, but the former was eventually bowled by Akshar Patel for 35.
Sangakkara took a stronghold of the attack by reaching a half-century, but the batsman fell for 61 off the bowling of Yadav.
Despite wickets tumbling around them, Angelo Mathews remained composed by reaching the end of 50 overs unbeaten on 92.
Sri Lanka posted 274-8 by the end of the innings.