India took a stranglehold of the first Test against Sri Lanka by claiming five wickets after posting a massive total in Galle on day two.
The outstanding Nuwan Pradeep (6-132) helped himself to a first five-wicket Test haul - including the big wicket of Cheteshwar Pujara for 153 - on Thursday, but the tourists racked up a hugely imposing 600 all out.
Ajinkya Rahane (57) and debutant Hardik Pandya (50), dropped on four, made half-centuries after Shikhar Dhawan (190) and Pujara had piled on the runs on day one.
Upul Tharanga made an impressive 64 before he was unfortunately run out and Angelo Mathews was unbeaten on 54 at stumps, but Sri Lanka are in the mire on 154-5 - trailing by 446 and a man down after Asela Gunaratne fractured his thumb on Wednesday.
Pujara added just nine runs after India resumed on 399-3, the prolific number three edging a peach of a delivery from the excellent Pradeep behind.
Rahane was well taken by Dimuth Karunaratne at slip to become Lahiru Kumara's first victim and stand-in captain Rangana Herath removed Wriddhiman Saha (16) in a vastly improved Sri Lanka bowling display.
Saha had put on 59 for the sixth wicket with Ravichandran Ashwin, who found the gaps on both sides of the wicket to make a brisk 47 before becoming Pradeep's fifth scalp.
India were 503-7 lunch and could have been eight down early in the afternoon session when Karunaratne put Pandya down at slip, a spill that proved to be costly.
Pandya cut loose with a rapid 49-ball half-century, including three sixes, and Mohammed Shami added a run-a-ball 30 before Kumara (3-131) dismissed him to finally bring the innings to an end.
Shami (2-30) struck early in Sri Lanka's reply by trapping Karunaratne (2) leg before and the opener inexplicably wasted a review when the ball struck him bang in front.
Tharanga got the scoreboard ticking with some elegant strokes, but Shami ended a 61-run second-wicket stand when debutant Danushka Gunathilaka (16) slashed a short delivery to Dhawan at first slip.
Dhawan clung on again in the same over to send Kusal Mendis trudging off without scoring, but Tharanga continued to play positively and brought up a 44-ball half-century by hitting Ashwin to the cover boundary.
Tharanga's knock came to a cruel end when his bat bounced in the air as he dived to get back in his crease and was run out after prodding Ashwin to Abhinav Mukund at silly point.
Mukund took a magnificent reaction catch close in to send Niroshan Dickwella (8) on his way off the bowling of Ashwin and although Mathews was still there at the close, Sri Lanka will have to produce something special to avoid a crushing defeat.