Eoin Morgan hit a defiant century but England were beaten by India
Morgan's bullish 102 in 81 balls answered questions about his continued value to the side emphatically but it was not enough to keep pace with the hosts, who saw Yuvraj Singh (150) and Mahendra Singh Dhoni (134) rolled back the years with magnificent tons of their own.
It was another bruising day for the bowlers, India's old favourites rescuing them from 25 for three to 381 for six and the tourists making their highest ever second innings score of 366 for eight.
"We probably weren't at our best with ball or the bat but we still competed and it's tremendously disappointing not to get over the line,” Morgan said.
"Bowling to MS Dhoni and Yuvraj Singh is very difficult at times. The margin for error is quite small and the challenge is to break the partnership a little earlier.
"We showed a lot of fight, we have a huge amount of talent. It's been a magnificent day's cricket."
Eoin Morgan scored 102 in 81 balls to answer his critics
Put into bat, India were reeling at 25 for three at Cuttack's Barabati Stadium when Yuvraj Singh and MS Dhoni, with the experience of 580 one-dayers between them, staged a spectacular recovery with an epic 256-run partnership spread over 38-odd overs.
The early dismissals of the openers or the rare failure of home captain Virat Kohli mattered little as Yuvraj and Dhoni exhibited the kind of shot-making which comes naturally to them.
Left-handed Yuvraj, one of the cleanest strikers of the ball, hammered a career-best 150 off 127 balls, a sizzling knock studded with 21 boundaries and three sixes.
Dhoni, who relinquished limited-overs captaincy earlier this month, made 134 off 122 balls, his 10th one-day century. His innings contained six sixes, including three in a Liam Plunkett over.
Paceman Chris Woakes emerged from the batting carnage with his reputation intact, having claimed four wickets as India posted a commanding 381-6.
Get Quotes on Home Insurance
Virat Kohli and Ravichandran Ashwin celebrate the dismissal of England's Ben Stokes
In reply, England lost Alex Hales cheaply but Joe Root (54) and Jason Roy steadied the innings with a century stand.
India's spin spearhead Ravichandran Ashwin (3-65) struck in his first over, dismissing Root, and England lost three more wickets, including that of Roy who made a brisk 82, to slump to 206-5.
Morgan raised 93 runs with Moeen Ali (55) to keep England in the chase and went on to complete his ninth ODI century, which contained five sixes, to inject fresh excitement into the contest.
Unfortunately for the tourists, Morgan was run out in the penultimate over and Bhuvneshwar Kumar sent down a tidy final over to restrict England to 366-8.
Kolkata hosts the third and final one-dayer on Sunday.