Bonner’s unbeaten 122 helped Jamaica reach 243 for seven from their 50 overs and then restricted Guyana to 233 all out.
Jamaica won the toss and elected to bat against Guyana in their final preliminary match in Group A of the tournament.
Runs were hard to come by for the Jamaicans, who were 97-4 at one stage, but made a revival, thanks mainly to a 73-run eigth-wicket partnership between Bonner and Nikita Miller.
Bonner struck 122 from 157 balls, which included eight fours and five sixes.
Andre McCarthy’s 27 and an unbeaten 20 from Miller were the only other resistance to the Guyanese bowlers.
Veerasammy Permaul (2-45) and Ronsford Beaton (2-56) both took two wickets each for Guyana.
Guyana had the match in their grasp when they were cruising on 96-2, following an opening partnership of 88 runs between Trevon Griffith (37) and Shivnarine Chanderpaul (65).
But the slide began following Chanderpaul’s departure and some aggressive bowling from Russell and Cotterell didn’t help Guyana’s batting.
Assad Fudadin (21) was threatening to turn things in favour of the Guyanese but his attempt at a big hit at Cotterell resulted in a top edge and a comfortable catch to Miller at mid wicket. Thereafter, only Anthony Bramble (14) and Veerasammy Permaul (17 not out) got into double figures.
Guyana reached 233 from 49.5 overs withRussell finished with 3-51 and Cottrell 3-62.
The Jamaicans finished unbeaten with 13 points, while Guyana take the second qualifying spot in the Group with nine points.
Jamaica 243-7 (50.0 overs)
Horace Miller c Bramble b Beaton 6
John Campbell c Bramble b Barnwell 10
Nkrumah Bonner not out 122
Tamar Lambert c Bramble b Fudadin 7
Andre McCarthy c Johnson b Permaul 27
Carlton Baugh+ c Barnwell b Permaul 8
David Bernard* lbw b Beaton 8
Andre Russell c Griffith b Bishoo14
Nikita Miller not out 20
Did not bat: Jerome Taylor, Sheldon Cottrell
Extras: (lb 3, w 18) 21
Total (7 wkts; 50.0 overs) 243
Fall of wickets: 1-14, 2-25, 3-45, 4-97, 5-134, 6-152, 7-170
Bowling: Christopher Barnwell 10-0-57-1 (4w), Ronsford Beaton 8-2-56-2 (4w), Assad Fudadin 6-1-17-1 (3w), Devandra Bishoo 10-0-37-1 (1w), Veerasammy Permaul 10-0-45-2 (1w), Royston Crandon 6-0-28-0
Guyana 233 all out (49.5 overs)
Trevon Griffith c McCarthy b Russell 37
Shivnarine Chanderpaul c Campbell b Cottrell 65
Robin Bacchus c Baugh b Russell 6
Leon Johnson lbw b Lambert 16
Christopher Barnwell* b Campbell 11
Assad Fudadin c Miller b Cottrell 21
Royston Crandon run out (Bernard) 13
Anthony Bramble+ b Cotterell 14
Veerasammy Permaul not out 17
Devandra Bishoo b Russell 6
Ronsford Beaton run out (Campbell) 9
Extras: (lb 1, w 15, nb 2) 18
Total (10 wkts; 49.5 overs) 233
Fall of wickets: 1-88, 2-96, 3-124, 4-145, 5-152, 6-178, 7-192, 8-201, 9-216, 10-233
Bowling: Jerome Taylor 8-0-27-0 (1w), Sheldon Cottrell 10-1-62-3 (1nb, 8w), David Bernard 5-0-29-0 (1nb, 1w), Nikita Miller 6-1-26-0, Tamar Lambert 10-1-27-1, Andre Russell 9.5-1-51-3 (4w), John Campbell 1-0-10-1 (1w)
Result: Jamaica won by 10 runs
Man of the Match: Nkrumah Bonner (Jamaica)
Umpires: Gregory Brathwaite, Leslie Reifer
TV Umpire: Nigel Duguid
Match Referee: Narine Bideshi