India declared their second innings at 246/5, setting a target of 410 for Sri Lanka on the penultimate day of the third and final Test against India at the Ferozeshah Kotla in Delhi on Tuesday.
Shikhar Dhawan (67), Virat Kohli (50), Rohit Sharma (50 not out) and Cheteshwar Pujara (49) contributed handsomely to the Indian cause.
India reached 51/2 in their second innings after bowling out Sri Lanka for 373 in their first essay till lunch on the fourth day of the third and final Test at the Ferozeshah Kotla ground in Delhi on Tuesday.
Pacer Ishant Sharma removed Dinesh Chandimal at his Test career-best score of 164 as the Sri Lankans fell short of India's first innings total by 163 runs.
In India's second essay, Murali Vijay (9) and Ajinkya Rahane (10) were dismissed before lunch, while Shikhar Dhawan (15 not out) and Cheteshwar Pujara (17 not out) were at the crease, with India taking an overall lead of 214 runs.
Earlier, resuming the day at 356/9, visiting captain Chandimal hit three fours before guiding a bouncer from pacer Ishant to Dhawan at third-man in the sixth over of the day. He hit 21 fours and a six. Lakshan Sandakan was unbeaten on zero.
India's second innings got off to a poor start as Vijay edged Lakmal in the third over to wicket-keeper Niroshan Dickwella.
Incoming batsman Rahane (10) struggled during his brief 37-ball stay as he continued his poor run in the series. Thanks to DRS, he survived twice.
Seamer Suranga Lakmal had got the umpire's favour in a LBW appeal against Rahane but the latter sought DRS, which showed that the ball had missed the leg stump in the fifth over.
Then, off-spinner Dilruwan Perera too thought his LBW appeal was a success against the Mumbai right-hander but the DRS saved him in the ninth over.
However, Rahane couldn't make it count as he was caught by Sandakan at long-on off tweaker Dilruan.
In between, the controversial issue of air pollution flared up again in the match, with visiting seamer Lakmal going off the ground after vomiting. The Sri Lankans came out fielding wearing anti-pollution masks.
Lakmal had bowled only three overs when he was seen vomiting on the field, prompting the physio to run to the field. After consultation, the pacer went off the ground. However, he returned to bowl four overs later.
Brief scores: India: 536/7d and 51/2 (Cheteshwar Pujara 17 batting, Shikhar Dhawan 15 batting; Suranga Lakmal 1/19) vs Sri Lanka: 373 (Dinesh Chandimal 164, Angelo Mathews 111; Ravichandran Ashwin 3/90, Ishant Sharma 3/98, Mohammed Shami 2/85).