Virender Sehwag cracked a robust 99 not out to help India post a comfortable six-wicket victory over Sri Lanka in the triangular one-day series on Monday.
The opener hit two sixes and 11 fours in his 100-ball knock as India raced to the 171-run target with more than 15 overs to spare in the day-night match for their first win in two matches.
New Zealand and Sri Lanka also have one win each in two matches. Each side will play the other twice in the preliminary league before the top two qualify for the final on August 28.
Sehwag, 31, was one short of his 13th one-day hundred when the match ended with off-spinner Suraj Randiv's no-ball, which was eventually smashed for a six by the batsman.
Sri Lankan seamers Angelo Mathews took two wickets and Dilhara Fernando one to reduce India to 32-3 before Sehwag came to his team's rescue with a responsible innings.
He put on 59 for the fourth wicket with Suresh Raina (21) and 80 for the unbroken fifth wicket with skipper Mahendra Singh Dhoni (23 not out) to ensure an emphatic victory.
India earlier put in a disciplined bowling performance to bowl Sri Lanka out for 170.
Paceman Praveen Kumar (2-20) rocked Sri Lanka's top order when he bowled Upul Tharanga with the first ball of the match and then trapped former captain Mahela Jayawardene leg-before in his fourth over.
Left-arm spinners Pragyan Ojha (3-36) and Ravindra Jadeja (2-34) also kept up the pressure as India never allowed the hosts to build a big partnership.
Opener Tillakaratne Dilshan top-scored with a fighting 45 in Sri Lanka's disappointing batting performance after the hosts elected to bat.
Dilshan was the fifth man to be dismissed, sweeping Ojha to Rohit Sharma at mid-wicket after hitting five fours in his 62-ball knock.
Sri Lanka, struggling at 103-7 in the 32nd over, managed to cross the 150-mark, thanks to gutsy knocks from Randiv (43) and Nuwan Kulasekara (22). Randiv hit four boundaries in his 61-ball knock.
Fast bowler Ishant Sharma took 2-32.
India made two changes from the side that lost to New Zealand by 200 runs in the opening match, replacing Yuvraj Singh - down with dengue fever - and Abhimanyu Mithun with batsman Virat Kohli and Ishant.
Sri Lanka, who beat New Zealand by three wickets in the previous match, brought in Fernando and Randiv in place of Rangana Herath and Ajantha Mendis.