Indians strike early
The Indians started off well, bowling a tight line and length. Both Zaheer Khan and Ashish Nehra kept a nagging line outside the off-stump, allowing no room to the dangerous Tillakarante Dilshan or Upul Tharanga.
In fact, Nehra started off with a maiden over, incidentally India's first in the ongoing five-match series.
However, just when Sri Lanka got to move on with a few boundaries, Nehra struck, picking the dangerous Dilshan for 9.
A superb catch by Virat Kohli at long leg and the Lankans lost their first wicket for just 31 on board.
Image: Ashish Nehra and Zaheer Khan celebrate Dilshan's wicket
Sangakkara-Tharanga steady innings
Sanath Jayasuriya, who came in at No 3, started off nicely, hitting crisp boundaries. However, the veteran failed to carry through and Sri Lanka were reduced to 72 for 2.
It could have been 72 for 3 had Harbhajan Singh held on to a skier by Kumar Sangakkara, on zero. The Lankan skipper went on to play a supporting role to Tharanga.
Sangakkara and Tharanga steadied the ship and was involved in a 126-run partnership.
Both of them were particularly severe on the out-of-form Ishant Sharma, who was clobbered around.
Image: Kumar Sangakkara plays a late cut
Tharanga completes a well-compiled century
Tharanga continued his good form in the series and notched his seventh ODI century.
He manufactured a couple of shots, backing away and pulling over mid-on, and made sure Sri Lanka had at least one boundary an over.
Tharanga was dropped by Nehra early in his innings and the lanky opener made full use of the reprieve.
He went on to make a classy 118 from 128 balls, which included 14 hits to the fence and two huge sixes.
Image: Upul Tharanga celebrates after century
Sangakkara loses patience
Just when Sri Lanka looked to accelerate the scoring, Sangakkara played a loose shot and was sent back to the pavilion by Harbhajan.
The Lankan skipper, who was dropped by Harbhajan when he hadn't even opened his account, made 60 from 72 balls before he was stumped.
Sangakkara's innings included five hits to the fence.
Image: Dinesh Karthik celebrates after stumping Sangakkara
Sri Lanka post competitive 315
Riding on the Tharanga's century and Sangakkara's half-century, Sri Lanka looked set for a big total.
However, they lost Tharanga in the first over of the batting Power Play, when he was bowled by Zaheer Khan.
But a cameo by debutant Thissara Perera saw Lankan innings get the push and go past the 300-plus mark. The pacer hit a 14-ball 31 to make the most of the batting Power Play.
Thilina Kandamby and Thilan Samaraweera made useful contributions lower down the order as Sri Lanka finished with 315 for 6.
Image: Tharanga is cleaned bowled by Zaheer Khan
Lankan pacers rock India
Facing a stiff task of 316 for victory, India would have relied on openers Virender Sehwag and Sachin Tendulkar to give them a good start.
Sehwag began with a bang, sending the first ball of the innings from Tissera Perera to the rope, a treatment he repeated four balls later.
However, Suranga Lakmal put the breaks on and picked up Sehwag off the fourth delivery he bowled.
Lakmal, bolwed one outside off-stump, which bounced a bit, and took an edge off Sehwag's blade and was easily taken by Tillakaratne Dilshan at point.
In his next over, Lakmal induced Sachin Tendulkar for a doomed cut and Suraj Randiv sent groans across the stadium when he took the catch at cover point.
Image: Sri Lankans celebrate Sachin Tendulkar's wicket
Gambhir-Kohli revive India
Gautam Gambhir and Virat Kohli, who replaced Yuvraj in the squad, played cautiously in the start and then picked up the momentum.
Kohli soon made his intentions clear as he hit four successive boundaries off Lasith Malinga's first over.
The duo played sensibly and picked up singles and doubles, with odd boundaries, keeping up with the run-rate.
The duo starred in a 224-run stand to inject fresh life into the chase and then completed the formality in Dinesh Karthik's company.
Image: Gautam Gambhir and Virat Kohli
Kohli hits his maiden ODI ton
Kohli, seizing the opportunity, hit his maiden ODI hundred as he carted the bowlers to all corners of the park. Kohli initially curbed his natural instincts and played the swing of Lakmal.
The main features of Kohli's innings were the flicks into the leg side, and punches off the back foot.
Kohli soon reached his ODI hundred, when he worked the ball to the mid-wicket to complete a well compiled century.
Kohli's mature 114-ball knock was studded with 11 fours and a six.
The Delhi dasher soon fell after his century but by then, India had the match in the bag.
Image: Virat Kohli celebrates after reaching century
Gambhir see India home
Gambhir too wasn't far behind. While Kohli was blazing his way through, Gambhir slowly but steadily moved towards his century and completed the century of the very next ball, Kohli got his.
Gambhir played the anchor role to perfection as he hit 14 boundaries in his 137-ball knock to rescue India after the openers were dismissed cheaply.
Gambhir was unbeaten on a splendid innings of 150 to take India to 317 for three in 48.1 overs.
Dinesh Karthik finished unbeaten on 19 from 22 deliveries as India clinched the five-match series 3-1, their fifth consecutive ODI series win over Sri Lanka, with a game to spare
Image: Gautam Gambhir