Rohit Sharma smashed the one-day international record score by bludgeoning Sri Lanka's attack for 264 in Kolkata as India recorded a fourth successive win against the tourists.
The 27-year-old blitzed nine sixes and 33 fours from 173 deliveries as he raced past the previous best of 219 compatriot Virender Sehwag set against West Indies in 2011.
Incredibly it was Sharma’s second ODI double hundred, having scored 209 against Australia in Bangalore just over a year ago, and he became the first man to achieve the feat.
Sehwag and former team-mate Sachin Tendulkar are the only other players to reach 200 in one-day internationals.
Sharma’s innings, with Virat Kohli contributing 66 at better than a run-a-ball, helped India post 404 for five – the fourth-highest total in the history of one-day internationals – before they dismissed their opponents for 251 to go 4-0 up in the five-match series.
Sri Lanka were made to pay for dropping Sharma, who was eventually dismissed off the final ball of the innings, in only the fifth over when he had made just four.
Sharma’s progress to 50 was relatively pedestrian, taking 72 balls, but from that point he unleashed an array of shots which destroyed the tourists’ bowling attack.
The acceleration from 100 to 250 was phenomenal, taking just 66 deliveries, and although he was dropped a further two times, in the 46th and 47th overs, by then the game had gone well beyond the control of a demoralised Sri Lanka.
Sharma, playing his first ODI since injuring his hand in India's tour of England, became only the second man to reach 250 in a limited-overs game but the highest score of 268 from Surrey's Alistair Brown in 2002 came in a domestic match.
“Once I got to 50 I knew I had to make a century because it was a good batting wicket and we knew 350 was easily chaseable. That made me stay there as long as possible,” Sharma said in his post-innings interview.
“It is important to look at the team score as that is how you build an innings.”
Eden Gardens is one of Sharma's favourite venues as he scored 177 on his Test debut there a year ago, having previously registered an Indian Premier League century at Kolkata in 2012.
“It is a very special ground for me,” he added.
Sri Lanka were quickly reduced to 48 for four in the 10th over and although Angelo Mathews (75) and Lahiru Thirimanne (59) put on 118 they were never close to reaching their target as seamer Dhawal Kulkarni finished with four for 34.