Rohit Sharma smashed his second successive hundred and 13th overall in one-day internationals as India continued to bully Sri Lanka in the fourth ODI of the five-match series.
He becomes the first Indian to score back to back hundreds against Sri Lanka in Sri Lanka.
After electing to bat, India were dealt an early blow when Vishwa Fernando removed the dangerous Shikhar Dhawan. However, the script changed when Virat Kohli joined Rohit in the middle.
Kohli was the more aggressive of the two and blazed away to his 29th hundred to take his place at No.3 in the list of most hundreds in one-day internationals.
Rohit was the more subdued of the two but he soon took off and belted an ordinary Sri Lankan attack to all parts of the ground to blitz away to a hundred on a flat pitch.
The surface had very little in it for bowlers and the Indian batsmen came out all guns blazing to try and bat a hapless Sri Lanka out of the game. The hosts have been beaten in every match (three Test and three ODIs so far) by India on this tour and they were further rattled with another Kohli-Rohit partnership.
Before the second ODI, Rohit had a poor record in Sri Lanka. However, it all changed in Kandy when he first hammered a quickifire half-century and followed that up with an unbeaten hundred.
The newly-appointed India vice-captain added a scintillating 200-run partnership for the second wicket with Kohli, who blasted 131 off 96 balls.
Rohit fell to Angelo Mathews for an 88-ball 104 but not before putting India on the path to a massive total in the penultimate ODI.