The home side were never in danger after devastating bowling from Thisara Perera and Angelo Mathews saw India dismissed for just 138 after choosing to bat first in blustery conditions at Hambantota.
Only opener Gautam Gambhir put up any serious resistance with a fighting 65 - narrowly missing becoming the first Indian to carry his bat through a ODI innings - as figures of three for 19 from Perera and three for 14 from Mathews saw the visitors bowled out in the 34th over.
All-rounder Perera, 23, took a wicket in each of his first three overs - including an athletic caught-and-bowled to dismiss Virender Sehwag - without conceding a run.
Sri Lanka then took just a ball short of 20 overs to cruise to victory with the loss of only Tillakaratne Dilshan, caught behind by Mahendra Singh Dhoni off the bowling of R Ashwin for exactly 50.
It took Upul Tharanga, who finished unbeaten on 59, and Dinesh Chandimal just another three overs to add the 20 more runs they needed for an easy victory.
Sri Lanka had made only one change to the team who lost by 21 runs in the first game, giving Isuru Udana his debut, while India remained unchanged.
It was India's second-worst defeat in ODIs in terms of the 181 balls remaining when Sri Lanka claimed the victory.