Veteran Sanath Jayasuriya led the way with 88 off 44 balls and captain Mahela Jayawardene hit 65 off 28 before Jehan Mubarak smashed an unbeaten 46 from 13 balls at the end.
Left-handed Mubarak took 29 runs off the 19th over bowled by seamer Lameck Ngoche as Sri Lanka beat by 39 runs the previous highest total of 221-5 by Australia against England in Sydney earlier this year.
Jayasuriya, the oldest player in the 12-nation tournament at 38, launched Sri Lanka's brilliant innings with 11 boundaries and four sixes at the top of the order.
Jayasuriya put on 75 off 39 balls for the second wicket with Kumar Sangakkara (30) and an incredible 87 in 30 balls for the third with Jayawardene.
The Sri Lankan captain helped himself to nine fours and two sixes in his team's first match in group C which also features New Zealand.
Mubarak, who came to bat in the 19th over at 215-6, pounded Ngoche for 6,6,6,4,6 with the first five balls he faced before ending the over with a single.
In the final