A maiden five-wicket haul from seamer Jasprit Bumrah and a stunning century from opening batsman Rohit Sharma was the catalyst as India beat Sri Lanka by six wickets in the third ODI in Kandy to clinch the five-match series with two games to spare.
Bumrah finished with superb figures of five for 27 from his 10 overs as the home team could only muster a below-par total of 217/9 in their 50 overs.
Lahiru Thirimanne, who was returning to the Sri Lanka team almost a year after being dropped, top scored with 80 batting a number four while Dinesh Chandimal was next best with 36.
As has been the case throughout the tour, Tests and ODIs, the hosts just couldn't keep India under sustained pressure and crumbled meekly with Bumrah to the fore.
In the chase, the visitors were in early trouble as the home team reduced them to 61/4 in the 16 over.
However Rohit was standing firm and he struck his 11th ODI ton to end on an imperious unbeaten 124.
MS Dhoni kept the opener company and was 67 not out as the duo shared in an unbroken stand of 157 as India won with more than four overs to spare.
Sri Lanka will have only pride to play for in the fourth ODI, which takes place in Colombo on Thursday.