Pacemen Thisara Perera and Angelo Mathews each grabbed three wickets to set up Sri Lanka's comfortable nine-wicket win over India in the second one-day international on Tuesday.
Perera finished with 3-19 and Mathews with 3-14 as India were dismissed for 138 off 33.3 overs after electing to bat in windy conditions in the day-night match in Hambantota.
Sri Lanka achieved the modest target with 181 balls to spare, with Upul Tharanga (59 not out) and Tillakaratne Dilshan (50) adding 119 for the opening wicket to help their team level the five-match series 1-1.
It was India's second-biggest defeat by balls remaining in one-day internationals, their worst (209 balls) also coming against Sri Lanka at Dambulla in 2010.
Tharanga cracked eight fours in his 60-ball knock while Dilshan, who was dropped early in his innings by Virender Sehwag in the slips off seamer Irfan Pathan, hit five boundaries.
The Indian bowlers failed to keep pressure on the Sri Lankan openers, with fast bowlers Zaheer Khan and Pathan conceding 13 runs in wides.
India were earlier let down by their batsmen, with opener Gautam Gambhir alone defying the Sri Lankan attack with a 96-ball 65. He was the last man out, caught behind off paceman Lasith Malinga (2-36) after hitting four boundaries.
Ravichandran Ashwin (21), opener Sehwag (15) and skipper Mahendra Singh Dhoni (11) were the others to reach double-figures in a dismal Indian batting performance.
The Sri Lankan pacemen were backed by wicket-keeper Kumar Sangakkara, who held four catches.
Perera jolted India when he took three wickets, including those of the previous match's main scorers Sehwag and Virat Kohli (one), in his opening three overs without conceding a run.
Kohli had made an impressive 106 and Sehwag a brisk 96 in India's victory in the opening match on Saturday.
Perera struck in his first over when he held a superb return catch to dismiss Sehwag and then had Kohli caught behind to put pressure on India.
Mathews reduced India to 38-3 when he bowled Rohit Sharma for no score before Perera removed Suresh Raina (one) for his third wicket.
India retained the side which won the first match while Sri Lanka replaced injured paceman Nuwan Kulasekara with debutant seamer Isuru Udana.
The third one-day international will be played in Colombo on Saturday.