Pathum Nissanka, who was unbeaten on 61, was the top scorer for the visitors while Charith Asalanka pitched in with 29.
Star all-rounder Ravindra Jadeja (5/41) was the pick of the bowlers for India while Ravichandran Ashwin (2/49) and Jasprit Bumrah (2/36) also played their part in wrapping up the Sri Lankan innings.
Brief Scores:
India 1st innings: 574 for 8 declared in 129.2 overs (Ravindra Jadeja 175 not out, Rishabh Pant 96; Suranga Lakmal 2/90, Vishwa Fernando 2/135, Lasith Embuldeniya 2/188).
Sri Lanka 1st innings: 174 all out in 65 overs (Pathum Nissanka 61 not out, Charith Asalanka 29; Ravindra Jadeja 5/41).