Shreyas Iyer and Rishabh Pant scored fine half centuries as India scored 303/9 in their second innings, giving Sri Lanka a mammoth target of 447.
Resuming at a overnight score of 86/6, Jasprit Bumrah struck early for the hosts as Embuldeniya top edged a short delivery to the wicket keeper for 1.
Ravi Ashwin then dismissed Suranga Lakmal (5) with a carrom delivery. Niroshan Dickwella gloved a short one from Bumrah to the keeper, giving the star pacer his maiden five wicket haul in India.
Ashwin then wrapped the innings by dismissing Vishwa Fernando stumped, as the visitors were bundled out for 109 giving the hosts an overall lead of 143.
For India, Bumrah ended up with figures of 5/24, while Ravi Ashwin and Mohammed Shami bagged 2 wickets each.
In response, Mayank Agarwal and Rohit Sharma got India off to a solid start. The pair added 42 runs for the opening wicket before the former edged a Embuldeniya delivery to Dhanajaya De Silva at gully for 22.
Rohit along with Hanuma Vihari featured in a 56 run stand for the second wicket before the skipper holed out to long on while trying to take on De Silva for 46.
Vihari having survived a couple of close shouts, couldn’t capitalize on his opportunity and was bowled by Jayawickrama for 35.
Virat Kohli (13) was then dismissed leg before wicket for the second time with a delivery that kept low.
Rishabh Pant and Shreyas Iyer added 45 runs for the fifth wicket. Pant reached his half-century in just 28 balls, thus going past the previous record held by Kapil Dev (30) against Pakistan in 1982. His knock comprised off seven fours and 2 sixes.
The southpaw was eventually dismissed right after reaching his 50. Shreyas carried on his good form by scoring a fine 67 before being trapped by Lasith Embuldeniya.
The hosts declared after Axar Patel (9) was bowled by Embuldeniya with one that spun sharply.
Chasing 447, the visitors lost Lahiru Thirimanne for a duck in the very first over by Jasprit Bumrah.
The Lankans ended Day 2 at 28/1 with captain Dimuth Karunaratne (10*) and Kusal Mendis (16*) unbeaten at the crease.
Stumps at the end of Day 2-( Sri Lanka 1st innings- 109 all out, Jasprit Bumrah 5/24)- India second innings 303/9 dec (Shreyas Iyer 67, Rishabh Pant 50, Praveen Jayawickrama 4/78) Sri Lanka 2nd innings 28/1) require another 419 runs to win.