Angelo Mathews won the toss and chose to field first.
Rohit Sharma and Shikhar Dhawan took India off to a solid start.
Rohit Sharma brought up his half-century with a six off his 58th delivery.
After Rohit's dismissal for a fine 78 ending a 138-run opening stand, Virat Kohli fell for a five-ball duck to Nuwan Pradeep.
Shikhar Dhawan retained composure going well past his fifty.
Shikhar Dhawan scored a fine hundred which set India on the path towards 300 and above before falling for 128.
MS Dhoni's 52-ball 63 provided India with a crucial late burst helping it to 321 for 6 in 50 overs.
Kusal Perera and Angelo Mathews then put on a 75-run fourth-wicket stand before the former hobbled off the field due to a hamstring injury.
In an athletic effort in his follow through, Bhuvneshwar Kumar had Kusal Mendis run out for 89 from 93 balls.
Danushka Gunathilaka was run out for 76 off 72 balls.
Bhuvneshwar Kumar struck early to remove the dangerous Niroshan Dickwella for just 7.
Danushka Gunathilaka kept things afloat for his side with a fine half-century.
Kusal Mendis provided great support to Gunathilaka to himself put up a fifty as the partnership grew increasingly worrisome for India.
Angelo Mathews' return could see him being a favoured pick for the allrounder slot