Sachin Tendulkar posted his first half century of the series and India secured a place in the limited-overs tri-series finals, beating Sri Lanka by seven wickets with 106 balls to spare.
|Sachin Tendulkar hits out [GALLO/GETTY]|
India picked up a bonus point to secure second place in the three-team competition on 17 points behind Australia, on 26 with a match remaining against last-place Sri Lanka.
Tendulkar belted 63 from 54 balls, including 10 boundaries, to set India on course to reach 180 for three in 32.2 overs in reply to Sri Lanka's 179 all out at the Bellerive Oval in Hobart.
Gautam Gambhir was unbeaten on 63 from 89 balls, adding a half century to go with his two earlier centuries to lead the batting standings for the series.
Muttiah Muralitharan broke through to have Tendulkar caught by Chamara Silva in a rare highlight for the Sri Lankans in the 21st over, but was expensive generally with his 8.2 overs costing 54 runs.
The Sri Lankans have only one win in the series and have little else but pride to play for on Friday against Australia in the last of the group matches.
"We don't deserve to be in the finals because we haven't been consistent in this tournament, simple as that," Sri Lanka captain Mahela Jayawardene said.
India skipper Mahendra Singh Dhoni said his team was aiming to peak against world champion Australia.
"After today's performance, I think we've have improved a lot," Dhoni said.
"Still we are not at our best. We can be a better side overall when it comes to batting, bowling and fielding.
"You can expect a bit more from the side but it depends on lots of other things."
Sri Lanka needed to beat India and Australia in its last two matches to qualify for the finals, which start Sunday in Sydney.
After being sent in to bat, Sri Lanka raced to 71 for one in the 15th over before the dismissal of Kumar Sangakkara for 33 triggered a collapse.
Sanath Jayasuriya was out for 34 and Jayawardene was out for 3 as the Sri Lankans lost five wickets for 16 runs.
Chamara Kapugedera worked with the tailenders to put on 86 runs for the 8th and 9th wickets and was last man out for Sri Lanka, caught and bowled by Harbhajan Singh for 57 on the first ball of the 48th over.
Paceman Ishant Sharma took 4-41 and swing bowler Praveen Kumar snared 4-31 for India.