Third Test: Cheteshwar Pujara, Amit Mishra help India put on 292 for 8 at stumps on day two
Dhammika Prasad and Angelo Mathews struck in early to dent India further, as the visitors resuming on their overnight score of 50 for 2 lost skipper Virat Kohli early on 18 as he snicked off one from his Lankan counterpart.
Rohit Sharma was the next to go for 26. Stuart Binny was sent back for a golden-duck, though there was plenty of doubt regarding the decision considering the height in question as the ball wrapped way over his knee roll.
The debutant Naman Ojha got out cheaply after failing to convert his start. He departed for 21.
After Ashwin got out for 5 leaving his side at a precarious 180 for 7, Amit Mishra took centre stage.
The leg-spinner batted out of his skin to not only score the third half century of his career but also formed a crucial partnership of 104 runs along with Pujara to save his team the blushes.
The eight wicket partnership ended when Mishy charged at Rangana Herath and was stumped by the wicket keeper. He scored 59.
For Sri Lanka, Prasad took 4 wickets for 83 runs. Rangana Herath, Nuwan Pradeep, Angelo Mathews and T Kaushal picked up a wicket each.
Rain again played spoilsport biting away 17 overs from the days play as early stumps were called by the umpires.