India were on the brink of winning the second Test and squaring the three-match series one-all after reducing Sri Lanka to 130 for nine wickets when rain drove the players for an early lunch 12 minutes ahead of the scheduled time on the fifth and final day at the P Sara Oval.
Chasing a tall target of 413 Sri Lanka who resumed from their overnight score of 72-2 collapsed dramatically in the morning session losing seven wickets for 56 runs.
The match seemed destined to end before lunch with the last pair Rangana Herath (4) and Tharindu Kaushal (0) at the wickets, but a sharp burst of rain pushed the impending result to after the break.
Sri Lanka got off to the worst start possible to the day when they lost their captain Angelo Mathews to the first ball when he edged an Umesh Yadav delivery to stand-in wicket-keeper Lokesh Rahul who took it diving forward.
From there on wickets fell at regular intervals as India chipped away at the Lankan batting which showed no fight which they displayed in the second innings at Galle.
Off-spinner Ravichandran Ashwin was the main wrecker of the Lankan batting capturing three wickets for 15 runs in the session to go to lunch with figures of five for 42.
Leg-spinner Amit Mishra was also among the wickets picking up two to hasten the end of the Lankan innings.
Dimuth Karunaratne was the only batsman to stick it out for some time in the middle scoring 46 off 103 balls (6 fours) before Ashwin finally ended his defiance of 177 minutes to bowl him off his pads.
Scores: India 393 and 325-8 decl.
Sri Lanka 306 and 130-9 at lunch (Dimuth Karunaratne 46, Angelo Mathews 23, Ravichandran Ashwin 5/42, Amit Mishra 2/25)