Canada put up a spirited performance but still fell short by 16 runs against England in its final warm-up match before ICC Cricket World Cup 2011.
Stuart Broad with a spell of 5-37 starred in England's win.
England opted to bat and posted 243 in 49.4 overs and Canada in its reply was bowled out for 227 in 46.1 overs.
England opened with Kevin Pietersen, but lost wickets at regular intervals. It required another responsible innings from Jonathan Trott (57: 81b, 4x4) to steady the ship.
Later, wicketkeeper Matt Prior rallied the lower order with his 80-ball 78 (4x4, 1x6). Henry Osinde (2-42), Khurram Chohan (3-34), Harvir Singh Baidwan (3-50) and Khurram Chohan (3-34) shared the wickets around.
In its chase, Canada had slipped to 28 for 5, but lower-order batted superbly to bring the side back into the contest.
Rizwan Cheema (93: 71b, 10x4, 5x6) teamed up with Zubin Surkari (22) first. Then Cheema added 60 runs with Chohan (44: 74b, 3x4, 1x6) for the seventh wicket.
But after Cheema fell, Chohan held the innings together with the tail. In the end, England's spinners backed Broad's opening spell well to script a win.
For England, Michael Yardy, James Tredwell and Paul Collingwood picked up a wicket each. Ajmal Shahzad was the other successful bowler with 2-44.