Hardik Pandya blazed his way to an 86-ball maiden Test hundred and Sri Lanka are contemplating a 3-0 series whitewash defeat after being made to follow-on against India in Pallekele.
Batting at No 8, Pandya cut loose after bringing up his half-century and only needed 25 balls to move from fifty to his first first-class ton in only his third Test which included butchering Malinda Pushpakumara for three sixes and two fours in an over.
Pandya was eventually last man out for 108 from only 96 balls, featuring eight fours and seven maximums, to swell India's total to 487, with Sri Lanka collapsing to 135 all out before closing on 19-1 after being asked to bat
again on day two of the third and final Test.
Mohammed Shami had both Sri Lanka openers Upul Tharanga and Dimuth Karunaratne caught behind, while Pandya's breakout day continued when he pinned Angelo Mathews in front.
Sri Lanka captain Dinesh Chandimal provided some much-needed resistance with a battling 48 but support at the other end was hardly forthcoming as the hosts lost their last four wickets for 10 runs.
Left-arm wrist spinner Kuldeep Yadav finished as the pick of the bowlers with 4-40, while Sri Lanka's woes worsened as Tharanga chopped Umesh Yadav onto his stumps shortly before the close.
Still trailing by 333 with three days remaining, they face a battle to avoid a second innings defeat in succession.