Gayle smashed 110 not out off 77 balls in leading West Indies to 181-3 in the 28th over, in reply to Canada's 179 all out in the 47th.
Gayle opened the innings and completed it with his 14th boundary. He also hit six sixes in his 16th ODI hundred.
"It was nice to get out there and get some runs today," Gayle said. "The plan was to bat as long as possible without putting any pressure on myself. The plan worked and I am obviously pleased."
Beside Gayle on 4 not out was Xavier Marshall, who hit an unbeaten 157 against Canada on Friday in the last round-robin game
Gayle and Sewnarine Chattergoon opened with 88 together before the latter was out leg before to Harvir Baidwan for 23 in the 13th over. Gayle and Carlton Baugh took the score to 165-2 when Baugh, on 29, became the first of two wickets in two overs for debutant spinner Balaji Rao.
Canada's innings was blemished by indecisive running that resulted in three run outs.
Sent in to bat by West Indies in overcast conditions, Canada made a disastrous start, losing its first wicket off the first ball when Mohammed Iqbal was run out by Chattergoon at backward square leg.
Canada captain Sunil Dhaniram and Karun Jethi were also run out by West Indies allrounder Brendan Nash, who took 1-33.
Fast bowler Jerome Taylor was the West Indies' most productive bowler with 3-33 off 6.5 overs.
Hard-hitting opener Rizwan Cheema continued his good form in the series — scoring 61, including 21 runs in an over off fast bowler Daren Powell who bowled much too short. Cheema's 45-ball innings included three sixes and eight boundaries, and he was named man of the series.
West Indies 181-3 off 27.3 overs (Chris Gayle 110 not out, Balaji Rao 2-50), def. Canada 179 off 46.5 (Rizwan Cheema 61; Jerome Taylor 3-33, Nate Miller 2-18) by 7 wickets.