Skipper Virat Kohli and Shikhar Dhawan scored 45 and 53 runs to take India to a total of 128 for two wickets in response to Sri Lanka's first innings total of 183 all out on Day 1 of the first Test match at Galle on Wednesday.
Ravichandran Ashwin claimed six for 46 in a fine display of spin bowling as India skittled out Sri Lanka for 183 in two sessions on the opening day to take upper hand in the first Test at Galle on Wednesday.
In reply, the visitors lost two early wickets but recovered to reach 128-2 at stumps, trailing Sri Lanka by 55 runs.
Opener Shikhar Dhawan (53) and captain Virat Kohli (45) were unbeaten at the crease, having added 100 runs for the third wicket.
Lokesh Rahul (seven) and Rohit Sharma (nine) were both out leg before as India were reduced to 28-2 but Dhawan, dropped on 28 by home captain Angelo Mathews off Tharindu Kaushal, and Kohli steadied the innings to keep the tourists on course for a big first innings lead.
Earlier, Mathews (64) was the top-scorer for Sri Lanka while wicketkeeper Dinesh Chandimal contributed 59 after the hosts' decision to bat in the first match of the three-test series backfired.
Off-spinner Ashwin finished with his 11th five-wicket haul in tests, while leg-spinner Amit Mishra picked up two wickets in successive balls in his return to test cricket after four years.
The pacers gave India early breakthroughs with Ishant Sharma removing Dimuth Karunarante (nine) with a short delivery while Varun Aaron dismissed the other opener Kaushal Silva (five) two balls later with another bouncer.
Dhawan made amends for dropping Silva in Aaron's previous over with a diving catch though replays suggested the ball came off the batsman's arm guard when he attempted a hook shot.
Retiring batting stalwart Kumar Sangakkara did not last long either in his penultimate test and fell to Ashwin's third delivery of the morning.
The lanky off-spinner extracted enough turn and bounce from the surface to fox Sangakkara and Lokesh Rahul pouched a sharp catch at silly point.
Ashwin also claimed the wickets of Lahiru Thirimanne (13) and Jehan Mubarak (zero) in successive overs as Sri Lanka slumped to 65-5 at lunch.
The hosts fought back with a 79-run stand for the sixth wicket between Mathews and Chandimal, who was dropped by wicketkeeper Wriddhiman Saha
on five off Ishant.
Mathews became Ashwin's fourth victim and the spinner completed his five-wicket haul with the lbw dismissal of Dhammika Prasad.
Mishra added to Sri Lanka's woes by dismissing Chandimal and Tharindu Kaushal off successive deliveries but sent his hat-trick delivery down the leg side against Nuwan Pradeep.
Kohli, leading the side for the first time in a full series, went in with five bowlers, including three spinner while the hosts also included an extra spinner in Rangana Herath.