Retiring spinner Muttiah Muralitharan engineered an Indian collapse on day four of the first Test at Galle, snapping up two more wickets to quell any thoughts of a comeback as the visitors reached lunch at 260 for eight.
Needing eight wickets in his final Test to reach 800, Muralitharan removed Yuvraj Singh (52) and Mahendra Singh Dhoni to take his match total to three and leave India on the brink of being asked to bat again.
Resuming at 140 for three in response to Sri Lanka's 520-run first-innings total, Virender Sehwag reached his century to give the Indians hope, but a continual loss of wickets pegged back the scoring rate.
Sehwag took all of 10 deliveries to bring up his 20th Test century - albeit with a nervy inside edge that trickled down to fine leg for four - as India looked to seize control of their innings in the morning session.
However, his joy was short lived as, on 109, Chanaka Welegedara forced him into a mis-timed cut shot off a wide delivery that only found Tharanga Paranavitana at slip.
And the visitors were dealt a second blow as overnight batsman VVS Laxman (22) lofted a trademark Lasith Malinga bouncer to the safe hands of Tillakaratne Dilshan at deep square leg.
Yuvraj and skipper Dhoni then steadied the ship, the former smashing Rangana Herath for consecutive boundaries before reaching his ninth Test fifty from 58 balls.
However, it was Muralitharan who had the last laugh, as the spin wizard produced a peach of a delivery to disturb Dhoni's (33) stumps, before Yuvraj fell victim to just a hint of turn, lobbing an easy catch to slip.
And the wickets continued to fall as new man Harbhajan Singh tried to charge Herath but missed the ball completely to give Prasanna Jayawardene an easy stumping.