Thilan Thushara smashed a maiden half-century to help Sri Lanka reach a competitive 227-6 in the fifth and final one-day international against India here on Friday.
The tourists, leading 3-1, have already clinched the series.
Sri Lanka were struggling at 133-6 before Thushara (54 not out) and Jehan Mubarak (47 not out) added 94 for the seventh wicket with their hard and clean hitting in the closing overs of the day-night match.
The hosts plundered 84 runs in the last 10 overs, thanks to Thushara's brisk 46-ball knock containing six fours.
Left-arm spinner Pragyan Ojha (2-28) and left-arm seamer Irfan Pathan (2-52) raised India's hopes of restricting Sri Lanka to a modest total before Thushara and Mubarak rallied their side.
Pathan ended Sri Lanka's recovery when he removed well-set Mahela Udawatte (43) and opener Malinda Warnapura (30) in the space of four deliveries in his opening spell.
Udawatte and Warnapura batted sensibly to add 77 runs for the second wicket after the dismissal of veteran opener Sanath Jayasuriya (one) in left-arm seamer Zaheer Khan's first over.
Ojha kept the batsmen under control with a tidy line and length, removing skipper Mahela Jayawardene (12) and Chamara Kapugedera (26) in the process.
Jayawardene, who won the first toss of the series, was held in the covers by Yuvraj Singh, while Kapugedera was caught in the deep by Rudra Pratap Singh while going for a big shot.
Ojha had earlier celebrated in his second over when he dived forward to hold a return catch, but Kapugedera stood his ground and was ruled not out after on-field officials consulted the third umpire.
The TV replays suggested the ball had first hit the ground.
Rudra Pratap also claimed a wicket when he had Kumar Sangakkara (one) caught by Gautam Gambhir at first slip. It was an easily forgettable series for Sangakkara, who could make just 37 runs in five matches.