Rohit Sharma smashed an unbeaten 124 to help India overcome a top-order wobble and register a series-clinching six-wicket victory over Sri Lanka in the third one-day international on Sunday.
Jasprit Bumrah laid the foundation for the win with a career-best 5-27 to help restrict Sri Lanka to 217-9, batting first, at the Pallekele International Cricket Stadium.
India slumped to 61-4 after 14 overs of their reply, but Sharma and MS Dhoni (67no) then shared in an unbroken 157-run stand to ease India to victory, one which puts them 3-0 up in the five-match series.
The match was held up towards the end when irate fans, who have been protesting since India whitewashed Sri Lanka 3-0 in the preceding Test series, hurled water bottles onto the field and forced the players off for about half an hour.
Earlier, Sri Lanka captain Chamara Kapugedera won the toss but the hosts did not get the kind of start they needed as Bumrah dismissed Niroshan Dickwella (13) and Kusal Mendis (1) to reduce Sri Lanka to 28-2 before Lahiru Thirimanne and Dinesh Chandimal tried to steady the innings.
Once Hardik Pandya dismissed Chandimal for 36, Sri Lanka lost wickets at regular intervals and could not get anyone to stay with the impressive Thirimanne (80)
Bumrah eventually accounted for Thirimanne in the 40th over and then added the wickets of Akila Dananjaya and Milinda Siriwardana to finish with a five-for.
India started their reply weakly. Opener Shikhar Dhawan (5) dragged a Lasith Malinga (1-25) delivery on to his stumps and skipper Virat Kohli (3) flicked Vishwa Fernando (1-35) to the long-leg fielder.
Dananjaya took six wickets to nearly derail India's chase in the previous match and impressed once again with 2-38 from his 10 overs - the offspinner dismissed KL Rahul (17) and the Kedar Jadhav (0) to add to India's woes.
But, Sharma's sensible batting and the calming presence of former captain Dhoni snuffed out any Sri Lankan hopes of a home victory as they calmly guided India home.