Andrew Fidel Fernando is ESPNcricinfo's Sri Lanka correspondent. @afidelf
India 277 for 7 (Chahar 69*, Suryakumar 53, Hasaranga 3-37) beat Sri Lanka 275 for 9 (Asalanka 65, Fernando 50, Chahal 3-50)
But they refused to be beaten. Chahar, with one List A half-century to his name before this innings, fought doggedly and intelligently, producing a stirring 69 not out that wrenched the game from Sri Lanka's fist. Bhuvneshwar, three List A half-centuries on his record, supported him staunchly through the high-pressure overs, finding singles, hitting only two boundaries through his 28-ball innings. And together they achieved the target almost comfortably in the end - with five balls to spare, the batting of the spinners unrequired.
That Chahar had batting chops was well known, but it was the poise that he brought to this innings that was staggering. He made calculated strikes through the late overs, even when Sri Lanka had preserved overs from their two gun bowlers - Wanindu Hasaranga and Dushmantha Chameera - for the death. He rotated the strike beautifully when India were still some way off, hitting only one boundary in his first 45 balls. When they were in striking distance, he hit fours all around the ground: carving behind point, bludgeoning through midwicket, flicking behind square leg, and even hoisting the wayward Lakshan Sandakan over wide long-off to hit India's only six.
The fightback had begun, earlier, with Suryakumar Yadav, who struck a graceful 53 off 44 to raise India up from the hole they had fallen into. While the lower middle order was still with him, he struck wristy boundaries over midwicket, and lap-swept Hasaranga to the fine boundary. He hit five of his six boundaries off the first 22 balls he faced, but changed tack when wickets fell, picking up safe runs into the outfield. When he was out lbw to leave India 160 for 6, it seemed as if Sri Lanka had struck the decisive blow.
Sri Lanka will have been deflated by the loss in the first ODI, when India's batting ran rampant, but to lose this will likely be even more deflating. They will perhaps rue not attack earlier, and setting Chameera and Hasaranga on Chahar while he was still new to the crease. And they overbowled Sandakan, and underbowled Chamika Karunaratne, who had roughed batters up with the short ball earlier in the night. Chahar and Bhuvneshwar had also been excellent with the ball. Bhuvneshwar took three wickets, two of them coming late in the innings.
Chahar struck with two outstanding slower balls through the middle overs, as Sri Lanka stuttered their way through the innings. Yuzvendra Chahal had been their most effective bowler, though, taking 3 for 50, as they collectively prevented any of Sri Lanka's middle-overs partnerships from properly blossoming. The hosts 275 for 9 did seem like a sub-par total at the halfway stage.
Although India scored rapidly through the early overs, Prithvi Shaw getting the show started with three consecutive boundaries in the first over, Sri Lanka kept striking to swing the match hugely in their direction. Hasaranga, bowling (unusually) in the powerplay, delivered a googly that breached Shaw's defences in the third over, before Kasun Rajitha had Ishan Kishan play one back on to his stumps at the end of the fifth. When Hasaranga trapped Shikhar Dhawan lbw, Sri Lanka could begin dreaming of defending the total, and a few overs later, when both Manish Pandey and Hardik Pandya fell in the 18th over, the hosts were decidedly in charge. They allowed Suryakumar and Krunal Pandya to claw India back into the game, however, and later, failed to land finishing blows.
As in the first ODI, their own batting had been unconvincing. Avishka Fernando struck 50 at the top of the order, having put on a brisk 77-run partnership with Minod Bhanuka - the best stand of their innings. Later, Charith Asalanka pushed Sri Lanka forward through the middle overs, making 65 even as teammates continued to fall at regular intervals at the other end.
Chahal was a threat throughout his ten overs. He took two wickets off two balls in the 14th over, breaking that opening stand with the first of these, and was outstanding at drying up the boundaries - Sri Lanka unable to find the rope for 97 balls in one stretch. He was supported well by Kuldeep Yadav through this period. Chahal's third wicket was that of Dasun Shanaka, who was bowled by a quicker slider in the 36th over.
Chahar then removed Hasaranga with a knuckle ball just as Sri Lanka approached the death overs. Sri Lanka were poorly placed at the time, but Karunaratne produced another bold and intelligent innings, biding his time until the penultimate over, then hitting two sets of successive boundaries to finish with 44 not out off 35.
Customize Your Page
Charith Asalanka: Team and coaches 'all emotional' after loss
'We're a young team. We haven't won much recently, and we're trying to do our best to play together for our country'
Deepak Chahar achieves his boyhood dream
And in the process, he may have taken a step towards solving India's long-term issue of white-ball batting depth
Stats - India secure their ninth successive ODI series win over Sri Lanka
All the numbers from India's lower-order's fightback in Colombo
No. 8 Deepak Chahar blindsides Sri Lanka in epic finish
India were far from favourites when Chahar came out to bat, but he changed all of that