(CNN) -- Centuries from Gautam Gambhir and Virat Kohli helped India defeat Sri Lanka by seven wickets in the fourth one-day international in Kolkata to take an unassailable 3-1 lead in the five-match series. 

Upul Tharanga had hit a superb 118 and Kumar Sangakkara made a fine 60 as the visitors reached an imposing 315 for six after choosing to bat first. 

However, Gambhir struck an undefeated 150 and Kohli made 107 -- his maiden century -- the two adding 224 for the third wicket as India easily overhauled the target, the highest one-day run chase at the famous Eden Gardens ground. 

After the tourists opted to bat, India began well with the ball, conceding a measly nine from five immaculate overs sent down by new-ball bowlers Zaheer Khan and Ashish Nehra. 

But Tillakaratne Dilshan broke the shackles by driving Nehra through the covers in the sixth over for the first boundary and from then on India gradually lost control. 

Nehra, who had dropped Tharanga on seven when he failed to hold on to a fairly straightforward return catch, went some way to atoning for that error by snaring Dilshan early and Sanath Jayasuriya, batting at three, also departed cheaply. 

But then Sangakkara, who was handed a reprieve before he was even off the mark when Harbhajan Singh squandered a simple chance at third man, and Tharanga built a solid base. 

Tharanga, who increased the tempo by hitting Ishant Sharma for five boundaries in the paceman's first over, continued to bat steadily alongside his captain. 
where?
(CNN) -- Centuries from Gautam Gambhir and Virat Kohli helped India defeat Sri Lanka by seven wickets in the fourth one-day international in Kolkata to take an unassailable 3-1 lead in the five-match series. 