Bell smashed four sixes and 12 fours in his 121-ball 131 not out to help England reach 314-4 against a Sri Lanka Cricket XI in the tourists' only warm-up game before the five-match series starts in Dambulla on Monday.
The hosts were bowled out for 234 in the 46th over, with Chamara Kapugedera top-scoring with 75 off 87 balls with one six and eight fours.
Bell was not the only England batsman to make merry as opener Alastair Cook and Kevin Pietersen also hit half-centuries.
Pietersen hammered three sixes and four boundaries in his 29-ball 50, while Cook hit four boundaries in his 88-ball 66.
England paceman James Anderson was the most successful bowler, with three wickets, while Ryan Sidebottom, Stuart Broad and skipper Paul Collingwood bagged two wickets apiece.
England 314-4 in 50 overs (Ian Bell 131 not out, Alastair Cook 66, Kevin Pietersen 50, Ravi Bopara 22; Gihan Rupasinghe 2-66)
Sri Lanka Cricket XI 234 in 45.2 overs (Chamara Kapugedera 75, Ashan Priyanjan 30 not out, Indika Saram 25; James Anderson 3-43, Ryan Sidebottom 2-27, Stuart Broad 2-34, Paul Collingwood 2-18)
Result: England win by 80 runs