Opener Kaushal Silva was batting on 30 with Kumar Sangakkara, who plays his last international.
Sangakkara was received with a guard of honor by India players and umpires as he walked in to bat and had scored 29.
Fast bowler Umesh Yadav trapped Dimuth Karunaratne in the second over leaving Sri Lanka 1-1.
Both Silva and Sangakkara could have been out. A delivery that had Silva caught behind was ruled a no-ball after checking replays and Ajinkya Rahane dropped a sharp chance from Sangakkara at slip when the batsman was on 24.
Yadav returned 1-18.
India was bowled out for 393 shortly after lunch break. India's total was built around opener Lokesh Rahul's second test century and with three other batsmen scoring half-centuries.
Rahul made 108 runs in 190 balls spending more than four hours at the crease. His innings included a six and 13 fours.
Rahul and captain Virat Kohli, who made 78, shared 164 runs for the third wicket after India lost two wickets for 12.
Rohit Sharma was out for 79 in the final over Thursday. He faced 132 deliveries, hit three sixes and five fours.
Wriddhiman Saha made 56.
Rangana Herath was the best of Sri Lanka's bowlers with 4-81.
India 235-3 at tea on Day 1 of 3rd test vs. Sri Lanka