Deepak Chahar's fine all-round display with both bat and ball helped the visitors gain an unassailable 2-0 lead in the ODI series in Colombo.
Chasing a target of 276, openers Prithvi Shaw and Shikhar Dhawan went all guns blazing for India, notching up 26 runs in the first two overs. But the stand didn't last long as the introduction of spin saw the early dismissal of Shaw on 13, as Wanindu Hasaranga celebrated a big scalp.
Ishan Kishan then soon followed suit as he went for a booming drive against Kasun Rajitha, but only managed to inside-edge the ball onto the stumps. The onus was now on India's two most experienced campaigners – skipper Dhawan and Manish Pandey (37) to get the visitors through troubled waters.
Dhawan though, could not repeat his exploits from the first match, as he was trapped in front of his stumps by Hasaranga on 29.
Pandey and Suryakumar Yadav then established a 50-run stand, while adapting the aggressive approach to counter-attack the Lankan bowlers. Pandey though was unfortunate as he was run-out on the non-striker's end as Dasun Shanaka managed to get his fingers on the ball before it hit the stumps from a Suryakumar drive, while he was caught off-guard outside his crease.
Hardik Pandya was then dismissed for a duck as India were left with their backs against the wall. Suryakumar and Krunal Pandya's stand of 44 then kept the game alive for the visitors, before the former was dismissed after bringing up his half-century.
Pandya was the next batsman to be dismissed on 35 after he got off to a good start. With seven wickets back in the shed, Sri Lanka were now looking confident of overturning a nine-match losing streak against India in home conditions.
Deepak Chahar then took matters into his own hands, unleashing a flurry of strokes to put the pressure back onto the Lankans. He was ably supported by Bhuvneshwar Kumar at the other end, as he played the anchor role to perfection. Chahar brought up his maiden ODI half-century, as the match hung finely in the balance.
Chahar scored an unbeaten 69 and Kumar chipped in with a handy 19* as the Sri Lankan bowlers were taken aback with the India fightback. With five deliveries remaining, India sealed a three-wicket victory and therefore gained an unreachable 2-0 lead in the three-match series.
Earlier in the contest, Sri Lanka got off to a steady if not spectacular start after a 77-run stand by their openers Avishka Fernando (50) and Minod Bhanuka (36). But they then started losing wickets in quick succession as Yuzvendra Chahal's twin-strikes in the 14th over turned the match on its shoulders.
Soon finding themselves stuttering around at 134/4, it was Charith Asalanka's knock that injected some much-needed momentum into the Lankan innings. His innings of 65 off only 68 deliveries, along with a quick-fire 33-ball 44 by Chamika Karunaratne allowed the hosts to post a competitive total of 275/9 on the board.
Dhananjaya de Silva (32) made also a made vital contribution for the hosts. For India, Chahal was the pick of the bowlers with figures of 3/50 in his 10 overs.
Personalise your homepage with an ICC account
News, fixtures and updates tailored to your favourite team. Never miss a moment!