Cornwall (7/75) spun a web around the Afghanistan batsmen on a turning track to shoot them out in 68.3 overs after West Indies won the toss and opted to field.
At stumps, West Indies were 68 for two in 22 overs, still trailing Afghanistan by 119 runs.
Sent into bat, Afghanistan started cautiously with the pair of Ibrahim Zadran (17) and Javed Ahmadi (39) stitching 28 runs off 12.2 overs. Cornwall gave West Indies the breakthrough by removing Zadran.
Afghanistan lost two more wickets before lunch to be placed at 90 for three in 30.4 overs.
Thereafter, it was all a Cornwall show as the off-spinner wreaked havoc by picking up the wickets of Rahmat Shah (4), Asghar Afghan (4), Nasir Jamal (2) and Afsar Zazai (32) to reduce Afghanistan to 165 for eight at tea.
West Indies skipper Jason Holder (2/22) also contributed two wickets with his medium pace by removing his counterpart Rashid Khan (1) and Amit Hamza (34) before Cornwall put an end to the Afghanistan innings by dismissing Yamin Ahmadzai (18).
In reply, West Indies lost opener Kraigg Braithwaite (11) and Shai Hope (7) early before John Campbell (30 not out) and Shamarh Brooks (19 not out) steadied the ship.
Left-arm spinner Amir Hamza (1/25) and Rashid (1/24) shared the honours for Afghanistan.
Afghanistan 1st Innings: 187 all out in 68.3 overs (Javed Ahmadi 39, Amir Hamza 34; Rakheem Cornwall 7/75).
West Indies 1st Innings: 68 for 2 in 22 overs (John Campbell 30 not out; Rashid Khan 1/24).