Sri Lanka seamer Dhammika Prasad bowled Lokesh Rahul (2) with the total on two and Nuwan Pradeep trapped Ajinkya Rahane (8) lbw with the total on 14.
Cheteshwar Pujara (19) and captain Virat Kohli (14) then steadied the innings until lunch was called early due to rain.
The third test will decide the series after Sri Lanka took the opening test and India the second.
Sri Lanka replaced retired Kumar Sangakkara with Upul Tharanga. It also handed a maiden test cap to Kusal Perera in place of Jehan Mubarak who failed to meet expectations.
Fast bowler Nuwan Pradeep who missed the second test due to injury came back to replace Dushmantha Chameera.
India's injured pair, opener Murali Vijay and wicketkeeper Wriddhiman Saha, were replaced by Cheteshwar Pujara and debutant wicketkeeper Naman Ojha.
India 329-6 at stumps on day 1 of 3rd test vs. Sri Lanka