Resuming at the precarious overnight score of 21 for 3, India did well to score 274 in their second innings and then leave the islanders miserably placed on an eventful penultimate day.
India now need to take the remaining seven wickets on a fifth day track to record a historic Test series win. India had last won a Test series in Sri Lanka under Mohammed Azharuddin's captaincy with a 1-0 verdict in 1993.
The good work by the lower order batsmen was carried on by the seam bowlers who dismissed Upul Tharanga (0), Dimuth Karunaratne (0) and Dinesh Chandimal (18) in quick succession to give the team a firm control of the match.
More From This Section
Sri Lanka still trail by 319 runs
with seven wickets in hand.
Sri Lanka's highest ever successful run chase on home soil in the fourth innings
has been 352 against South Africa
in Colombo in 2006. Recently, Pakistan had scored 382 for three against Sri Lanka to win a Test match.
Set a daunting victory target, Sri Lankan innings began on a disastrous note as Ishant Sharma (2/14) and Umesh Yadav (1/32) produced a hostile opening spell to knock off the top order.