Sri Lanka were reduced to 86-6 in response to India`s 252 on day one of the second test, leaving the hosts 166 runs ahead so far in the day-night game played in front of a near-capacity crowd at the M Chinnaswamy Stadium on Saturday.
On a pitch that offered turn and variable bounce, Sri Lanka`s spinners thrived in the first two sessions, but Shreyas Iyer was unperturbed and top-scored with 92 after India won the toss and opted to bat first.
While Lasith Embuldeniya (3-94) and Praveen Jayawickrama (3-81) constantly troubled the Indian batsmen, Iyer smashed 10 fours and four sixes before he became the last wicket to fall, stumped eight runs short of a second test century.
In response, Sri Lanka`s top order collapsed to 28-4 as India`s Jasprit Bumrah and Mohammed Shami proved there was enough life in the pitch to assist the quicks as well after Lanka`s pacers picked up only one wicket between them.
Bumrah (3-15) dismissed Kusal Mendis and Lahiru Thirimanne in quick succession early on, with both edging to Iyer in the slips.
Shami then struck with his very first delivery when he broke through the defence of skipper Dimuth Karunaratne to hit the off stump before Dhananjaya de Silva was trapped leg before.
Although the umpire initially gave De Silva not out, India successfully reviewed the decision after an animated discussion.
India`s spinners finally got into the act when Axar Patel got Charith Asalanka to sky a delivery to Ravichandran Ashwin, but Bumrah came back towards the end of the session to pick up a third, ending Angelo Mathews` resistance.
INDIA POST 252
Earlier, India`s openers fell cheaply in the first session, with Mayank Agarwal run out in the second over while Embuldeniya had Rohit Sharma caught in the slips.
Playing in his 400th international game, Rohit`s wicket ironically drew cheers from the Bengaluru crowd as it brought Virat Kohli — former captain and the star of their Indian Premier League franchise — to the crease.
Kohli and Hanuma Vihari patiently built a 47-run stand to steady the ship but left-arm spinner Jayawickrama dismissed Vihari with a rising delivery that had him caught behind.
Sri Lanka brought on a third spinner in De Silva and he struck in his first over to trap Kohli (23) leg-before with a delivery that kept surprisingly low, silencing the home crowd as the umpire raised his finger.
On the other hand, Ravindra Jadeja, who scored an unbeaten 175 in the first test, was surprised by a rising delivery from Embuldeniya and caught in the slips.
Rishabh Pant also provided some fireworks with a quick-fire 39 with seven boundaries before Embuldeniya struck again with a ball that turned and smashed into the stumps.