|Even Dilshan's career-best score was not enough for Sri Lanka [AFP]
Virender Sehwag's career-best 146 led India to a three-run victory as Sri Lanka fell just short of successfully recording the second-highest run chase in one-day international history.
Sehwag smashed six sixes and 17 fours in 102 balls at Madhavrao Scindia Cricket Ground in Rajkot to help India total 414-7 in 50 overs – their highest ever ODI total – in the first of five matches against Sri Lanka.
Tillakratne Dilshan hit his best score of 160 but three late run outs left Sri Lanka on 411-8 – the second-highest total for a team batting second by 61 runs and only behind South Africa's 438 against Australia in 2006 at the relatively small Wanderers Stadium.
"It's quite tough when you score 400 and almost lose it," said captain Mahendra Singh Dhoni, who made 72 on Tuesday.
"We weren't up to the mark during the first 35 overs of Sri Lanka's innings, but the way we bowled and fielded after that was awesome."
India's previous best was 413-5 against Bermuda, during the 2007 World Cup at Port of Spain, Trinidad.
Their previous highest score against Sri Lanka was 373-6, at the 1999 World Cup in England.
India's total is the fifth highest, behind Sri Lanka's leading 443 against the Netherlands in 2006, but the third best against a Test-playing nation.
Sehwag featured in two big partnerships on way to a 12th ODI century, putting on an opening 153 with Sachin Tendulkar, who scored 69, and 156 for the second wicket with Dhoni.
"I kept telling myself that I'm in good form and I've got to make the most of it," Sehwag said.
"I kept telling myself that I'm in good form and I've got to make the most of it"
India batsman Virender Sehwag
"Tendulkar and I were initially aiming at a total of 350, but Dhoni played really well and raised the bar."
Tendulkar hit 10 boundaries in 63 balls before being bowled by an in-cutter from paceman Dilhara Fernando in the 20th over.
Sehwag's innings ended when he misjudged a delivery from pace bowler Chanaka Welegedara and lobbed it to Tillakaratne Dilshan at point.
Fernando also dismissed Dhoni to finish with 2-66.
Dhoni hit three sixes and seven boundaries before lofting a slower ball from Fernando to Angelo Mathews in the covers.
Paceman Nuwan Kulasekara snared Gautam Gambhir for 11 and Suresh Raina for 16 to have figures of 2-65 and slow India's extraordinary run-rate.
Welegedara dismissed Virat Kohli for 27 before Ravindra Jadeja hit 30 not out to take India past the 400-run mark. Welegedara had the best figures for Sri Lanka, taking 2-63.
Dilshan and Upul Tharanga put on opening stand of 188 to give Sri Lanka a flying start.
Tharanga, who opened with Sanath Jayasuriya dropping down the order, hit four sixes and three boundaries in 60 balls before being stumped by Dhoni for 67 off part-time spinner Raina.
Dilshan and captain Kumar Sangakkara then put together a brisk 128-run stand for the second wicket that seemed to turn the game in Sri Lanka's favour.
Sangakkara top-edged seamer Praveen Kumar to Ravindra Jadeja at deep square-leg to be out for 90, while Dilshan was bowled by offspinner Harbhajan Singh, who then had Jayasuriya stumped for five by Dhoni to return figures of 2-58.
Dilshan struck three sixes and 20 fours off 120 deliveries, and Sangakkara hit five sixes and 10 boundaries.
India's fielders, after having dropped several catches, then produced three run-outs as Sri Lanka fell just short of an improbable victory.
"It's shattering when you come this close and then lose," Sangakkara said.
"We should've batted smarter after 35 overs. India held their nerve better than us."
The second game is Friday in Nagpur.