In the match between India and Sri Lanka, the latter won the toss and opted to bowl first.
The Indian openers Rohit Sharma and Shikhar Dhawan provided a solid start to the Indian side as the duo put on 138 runs for the first wicket.
Rohit (78) was sent back to the pavilion in the 25th over, and the Indian side was given a big blow in the very next over as skipper Virat Kohli was dismissed for a duck.
Dhawan, however, marched on and he went on to play a knock of 125 runs from 128 balls, and in the final overs, MS Dhoni also played few big shots and as a result, India registered a total of 321/6 in the allotted fifty overs.
Dhoni was dismissed for 63 runs, while Kedar Jadhav remained unbeaten on 25. For Sri Lanka, Lasith Malinga scalped two wickets.
Sri Lanka's chase got off to a bad start as the side lost Niroshan Dickwella (7) in the fifth over as Bhuvneshwar Kumar sent him back to the pavilion.
However, from there, Danushka Gunathilaka (76) and Kusal Mendis (89) got together and they piled on the misery on the Indian bowling attack. The duo formed a 159-run stand, and their partnership saw both batsmen going past the 50-run mark.
India did manage to dismiss both batsmen via run-out, but Sri Lanka was in no mood to let up, and in the end, Angelo Mathews and Asela Gunaratne powered Sri Lanka to a win by seven wickets with eight balls to spare.
Mathews and Gunaratne remained unbeaten on 52 and 34 respectively.
Sri Lanka's highest ODI run chase had come in 2006 as the side had successfully chased 324 against England.
In the 2017 Champions Trophy, India had managed to reach the finals, but the side lost the summit clash against Pakistan.