Rohit Sharma and Virat Kohli scored quick-fire centuries and shared a second-wicket partnership of 219 as India heaped more misery on Sri Lanka with an emphatic 168-run victory in the fourth one-day international in Colombo.
Having won the Test series between the sides 3-0, India are now one win away from another clean sweep after moving 4-0 up in the ODI rubber with Thursday's victory.
Stand-in Sri Lanka captain Lasith Malinga claimed his 300th ODI wicket by having Kohli caught at deep cover point, but not before the tourists' captain had raced to 131 in a superb 96-ball innings.
Rohit made 104 from 88 deliveries at the top of the order and there were handy contributions down the order from Manish Pandey (50 not out) and MS Dhoni (49no) to help India rack up 375-5.
Sri Lanka then slumped to 37-3 in reply and a valiant 70 from Angelo Mathews proved in vain as they were dismissed for 207 in 42.4 overs.
India lost Shikhar Dhawan (4) early after choosing to bat first, but were soon firmly on course for a huge total as Rohit and Kohli made batting look easy.
Playing with typical style, Kohli brought up his 29th ODI hundred - moving him to outright third on the all-time list - from just 76 balls before becoming Malinga's landmark victim.
The similarly assured Rohit needed just nine deliveries more to reach three figures, courtesy of a delightful straight drive off Malinga.
Hardik Pandya (19), Rohit and KL Rahul (7) fell in quick succession, the first two to consecutive balls from Mathews, but Sri Lanka's pain was not over as Pandey and Dhoni - who was dropped on 25 in his 300th ODI - put on 101 for the sixth wicket.
Any hopes Sri Lanka had of chasing down 376 were essentially ended inside eight overs, with openers Niroshan Dickwella and Dilshan Munaweera edging behind off Shardul Thakur and Jasprit Bumrah respectively either side of Kusal Mendis being run out.
Skipper Mathews did his best to lead a recovery and Milinda Siriwardana added 39, but the hosts' defeat was inevitable long before the match came to an end.
Colombo hosts the fifth and final ODI on Sunday before a Twenty20 international rounds off India's tour next Wednesday.