India beat Sri Lanka by three runs in a high-scoring first One-Day International at Rajkot on Tuesday to take a 1-0 lead in the five-match series.
Chasing a seemingly improbable target of 415, the visitors mounted a well-calculated assault but eventually finished just short, with 411 for eight in their stipulated 50 overs.
India have now won eight of their last 11 ODIs against Sri Lanka.
Sri Lanka began their innings on a steady note, mostly playing risk-free shots. Upul Tharanga got a reprieve when Kohli spilt a simple chance at short point off Praveen Kumar. Tharanga expressed his gratitude by hitting Ashish Nehra for a superb straight six.
Thereafter, it was Dilshan's blade that did all the talking, Tharanga's role being reduced to that of spectator.
A couple of boundaries in Kumar's fourth over, the innings' seventh, announced his intentions. The next over, by Nehra, cost India 15 runs, with Dilshan hitting three successive hits to the fence.
After 10 overs, the visitors were 81 without loss, Dilshan reaching his 17th ODI half century, his eighth against India, with a boundary off Zaheer. The left-armer, back in the India ODI side after a gap of almost 10 months, had a horrid welcome, his first over costing India 10 runs.
The century partnership for the opening wicket came in just 12 overs, the kind of start Sri Lanka had aspired from its openers.
Dilshan continued his aggressive intent, being particularly harsh on Ravindra Jadeja in the bowler's first over which went for 17.
In the 20th over of the innings, Jadeja's fourth, Dilshan took a single to complete his fourth century in one-dayers, his third this year. It took him just 73 balls to reach the landmark.
The over also brought up the 150-run partnership for the opening wicket. Following Sachin-Sehwag's 153-run stand for the opening wicket in the Indian innings, this stand was also the first instance of a 150-run first wicket partnership in both innings in an ODI.
However, the introduction of Suresh Raina in the 24th over provided India a much-needed relief. Raina breathed life into an otherwise tired-looking Indian side by claiming the wicket of Tharanga; he lured the batsman out of the crease and Dhoni did the rest behind the stumps.
It was relief for India as the Sri Lankan openers had put on 188 runs, helping their side lay a solid foundation to build on.
Tharanga's 67 was his 12th in one-dayers and included three boundaries and four huge sixes.
Raina would have had a second wicket in his second over had Gautam Gambhir not dropped Dilshan at extra cover.
New batsman Kumar Sangakkara soon got into the groove by smashing Raina over the mid-wicket fence.
The Sri Lankan captain helped himself with two more maximums in Raina's third over, the 28th of the innings.
An eponymous 'Dilscoop' off Zaheer saw the 50-run partnership for the second wicket being achieved off just 28 balls.
Harbhajan was re-introduced in the 30th over and Sangakkara welcomed him by hitting straight back to the fence first -- the first boundary that the offie had conceded in six overs -- and three balls later directing the ball to the mid-wicket fence.
Sri Lanka's captain continued his assault on Harbhajan in the spinner's subsequent over, first with a boundary to the mid-wicket fence and then hitting a massive six to long-off.
The latter shot helped Sangakkara bring about his 50th ODI half century, his eighth against India, in style.
Whila Sangakkara was ruthless towards Harbhajan, the latter returned with benevolence. Besides conceding runs, the offie also dropped the former, off Kumar's bowling, at mid-wicket -- a chance that seemed straight-forward.
The Indian fielders continued to have buttered fingers, the appointment of Mike Young notwithstanding.
The 100-run partnership for the second wicket came off just 62 balls.
After 35 overs, the visitors were 291 for one, with Dilshan still batting on 146 and Sangakkara on 66. And the visitors opted to take the batting Powerplay at that stage.
The first over by Zaheer yielded the visitors a whopping 21 runs, all but one taken by their captain.
The second over ensured India a much-needed wicket, Sangakkara top-edging a Praveen Kumar delivery straight to Jadeja at deep square leg.
Sangakkara's whirlwind 90 came off just 43 balls and consisted of 10 hits to the fence and five huge ones over it.
His second-wicket partnership with Dilshan yielded 128 and, more importantly, wrested the initiative from India.
Sanath Jayasuriya, supposed to bat at No 7 initially, was promoted at No 4 but the move boomeranged. The veteran managed just five before being stumped by Dhoni off Harbhajan.
His dismissal reduced Lanka to 328 for three after 37.3 overs.
However, it was only when Dilshan (160) was cleaned up by Harbhajan, and Mahela Jayawardene (3) ran himself out soon after, that the Indian hopes were reignited.
Dilshan's innings consisted of 20 hits to the fence and three over it, and came off just 124 balls
The Batting Powerplay had yielded yielded the Lankans 52 runs but, more importantly, cost them three vital wickets.
It was, in a sense, similar to the corresponding period in India's innings -- that ensured the home team 34 runs at the cost of three wickets.
After 41 overs, Sri Lanka were precariously poised at 347 for five, still 68 runs adrift.
Thilan Kandamby (24) and Angelo Matthews (38) tried to arrest the slump to an extent, putting on 56 runs for the sixth wicket. But Kandamby and Thilan Samaraweera (0) getting run out in the penultimate over, and Matthews getting caught by Tendulkar (off Nehra) sealed Sri Lanka's fate.
Earlier, some excellent top order batting, led by an atypically belligerent Virender Sehwag, ensured India a mammoth 414 for 7.
It was not only India's highest ever total on home soil -- surpassing the 387 for five against England in 2006 -- but also their highest total ever, bettering their 413 against Bermuda in the 2007 World Cup.
India won seven of their last 10 ODIs against Sri Lanka, and if this batting effort is anything to go by, the nature of the wicket notwithstanding, the hosts look likely to improve upon that record by one.
Sehwag played a by-now-synonymous starring role and was well-supported by Sachin Tendulkar and captain M S Dhoni as the India's script was almost executed to perfection. His swashbuckling 146 and Dhoni's quickfire 72, and their 156 runs stand for the second wicket, practically made the innings look like a one-sided contest.
Sehwag's career-best knock came off just 102 deliveries and consisted of 17 hits to the fence and six huge ones over it, while Dhoni hit seven boundaries and three sixes.
During the course of his innings, Dhoni became only the eighth Indian batsman to surpass the 5000-run mark in one-day internationals.
Earlier Sehwag and Sachin Tendulkar (69) had ensured India an aggressive start with a 153-run partnership for the opening wicket that came off just 117 balls.
India began on a sedate note, scoring just 19 in the first five overs.
But Sehwag broke the shackles in the sixth over with as many as three boundaries.
Facing Chanaka Welegedera for the first time in the match, Sehwag hit the second ball to the square leg fence, and gave the bowler a two-ball breather before desptaching the last two deliveries to the midwicket and cover-point fence respectively.
Tendulkar joined the party hitting a boundary each of Nuwan Kulasekara and Welegedera.
Kulasekara's fifth over, the ninth of the innings, ensured the home team more runs, Sehwag first smashing the ball towards the covers boundary and then helping himself with two maximums, the first over extra cover and the second over mid-wicket.
The over yielded 16 runs and the first six ensured the 50-run partnership was completed in an emphatic manner.
The next over by Welegedera witnessed Sehwag helping himself with a couple of more boundaries, the second of them getting him his half century.
It was Sehwag's 36th one-day fifty and fourth against the Lankans.
After the 10th over, Sehwag slowed down a bit to allow Tendulkar's bat to do the talking, and the Master Blaster obliged, reaching 52 from 21 (his score after the 10th over) in just 23 deliveries.
It was the Master Blaster's 92nd ODI fifty, and his 16th against Sri Lanka.
India were cruising along at 107 without loss after 15 overs, with Sehwag on 54 and Tendulkar on 52.
If Sri Lanka believed there would be respite now that the Powerplay period was over, they were wrong. The introduction of Angelo Matthews in the 16th over woke Sehwag from his slumber.
And the Delhi marauder took as many as 18 runs off the hapless bowler's first over.
The first ball was hit wide of mid-off for a boundary, the fourth went past the long-off fielder (and the boundary) and the final one over square for yet another maximum, arguably the biggest one of the innings.
Even as Sangakkara introduced the experienced Jayasuriya to stem the flow of runs, the equally experienced Tendulkar danced down the wicket and cleared the fence for his first maximum.
But Fernando, in his fifth over, cleaned up Tendulkar to give Sri Lanka the much-needed breakthrough.
The Master Blaster's 63-ball 69 comprised 10 hits to the fence and a huge one over it.
Sri Lanka heaved a sigh of relief as there was a lull for three or four overs as captain Dhoni took time to settle down.
The lull lasted 20 balls, to be precise. Sehwag then first smashed Jayasuriya behind midwicket for his fifth maximum of the innings and then hit successive boundaries off Matthews to complete his 12th ODI hundred, his second against the visitors.
It came off just 66 balls. More importantly, it was the batsman's first ton on home soil since 2005, when he scored 108 against Pakistan at Kochi.
In the next over, bowled by Jayasuriya, Dhoni joined the party, hitting the first ball down the track for maximum. He followed it up with a boundary that brought about the 50-run partnership for the second wicket and finished the over with another hit to the fence.
Two overs later, Dilshan was introduced and Sehwag greeted him first with a boundary over extra cover and then Dhoni split the long-on and midwicket fielder for the same result.
Dilshan's second over cost a further 15, with Dhoni clearing the long-on fence and following it up with a boundary at extra cover.
Another maximum in the next over by Kandamby enabled Dhoni complete his 34th ODI half century, his 12th against the Lankans.
Meanwhile, Sehwag continued his belligerence, hitting Kandamby down the ground for a maximum and following it up with an exquisite cover drive, the latter shot enabling him surpass his previous best one-day score -- 130 against New Zealand at Hyderabad in 2003.
However, Sehwag perished in his bid to surpass 150 and Dhoni followed in the next over, cutting short India's progress to an extent.
Sehwag was caught by Dilshan at point off Welegedera, and, four balls later, Dhoni was caught at covers by Matthews to give Fernando his second wicket.
Gautam Gambhir (11) followed soon, caught by Sangakkara off Kulasekara as India were reduced to 325 for four (from 309 for one).
After 40 overs, India had scored 335 for four, with Suresh Raina unbeaten on 10 and Harbhajan Singh on 4, both batsmen having survived dropped opportunities.
Raina was dropped at the midwicket boundary by Upul Tharanga off Matthews while Samaraweera spilled Harbhajan at midwicket off Kulasekara as the Lankan fielders failed to help their bowlers' cause on a wicket that had nothing for the latter.
However, Raina (16) failed to make the most of the opportunity, top-edging to Jayasuriya off Kulasekara. India 347 for five.
Harbhajan (11) followed suit, hitting straight to Kulasekara at third man off Matthews, and India were reduced to 352 for 6.
India lost five wickets in the space of 43 runs in a minor slump, but still held the upper hand, thanks to excellent top order batting.
Virat Kohli scored a 19-ball 27, inclusive of four boundaries, before Welegedera rattled his stumps.
But Ravindra Jadeja (30 not out) and Praveen Kumar (4 not out) ensured India finished on a positive note.
Earlier, Sri Lanka won the toss and opted to field first, a move that completely backfired.
The visitors went into the match without Muttiah Muralitharan and Lasith Malinga, both out with injuries.
India, on the other hand, missed out on the services of Yuvraj Singh, who was ruled out with a finger injury.
Sri Lanka surprised some by announcing that the seasoned Jayasuriya would bat at No 7 and Tharanga would open the innings with Tillekaratne Dilshan.India, on the other hand, missed out the services of Yuvraj Singh (ruled out with a finger injury), with Kohli being his replacement. Harbhajan and Zaheer also returned to bolster the squad.