Nagpur: Sri Lanka finished Day 3 at 21-1 in their second innings - trailing by 384 runs - after the hosts declared for 610-6 on day three of the second Test on Sunday.
Ishant Sharma bowled Sadeera Samarawickrama on second ball on duck after India take huge lead.
At stump Dimuth Karunaratne playing on eleven while Lahiru Thirimanne not out on nine.
Earlier, Indian skipper Virat Kohli stood tall with a double century as India cornered Sri Lanka with an imposing first innings lead of 405.
India declared their innings on 610-6 after Rohit Sharma completed his hundred as they seek to go one up in the three-match series.
Sharma made 102 with wicketkeeper-batsman Wriddhiman Saha, on two, for company in Nagpur.
The day though belonged to Kohli who hit a majestic 213 before falling to off-spinner Dilruwan Perera as he walked back to a standing ovation from a raucous home crowd.
It was the star batsman's fifth 200-plus score in his 62nd Test. He has achieved double tons against West Indies, New Zealand, England and Bangladesh.
Kohli and Rohit put on 173 runs for the fifth wicket to pulverise a deflated Sri Lanka attack that sent down 176.1 overs in about six sessions of play.
Kohli, who started the day on 54, played attacking cricket to smash 17 fours and 2 sixes during his 267-ball knock.
He got able support from Rohit, who changed gears after scoring his fifty before tea to get runs all around the ground while registering his third Test hundred.
It was Kohli's 183-run third-wicket stand with his overnight partner Cheteshwar Pujara that took the steam out of the opposition attack.
While Pujara was bowled by paceman Dasun Shanaka for 143 in the first session, Kohli continued to score quick runs in his team's expected bid to bat just once in the match.
Ajinkya Rahane, who was out to Perera for two, and opener Lokesh Rahul were the only two specialist batsmen to miss the Indian run fest of five centuries.
After the early fall of Rahul on day one it was Murali Vijay, who made 128, and Pujara who put India in the driving seat with their 209-run partnership.
The first match of the series was blighted by rain and ended in a draw in Kolkata.