Charles scored a belligerent 84 off just 56 balls with help of 10 well-timed fours and three sixes, while Gayle belted six fours and four sixes en route to a 35-ball 58 to lay the platform for West Indies' total.
Chasing 180 for win, England stuttered at the start before Alex Hales and Eoin Morgan came together and stitched 107 runs for the fifth wicket in mere 58 balls to almost snatch a win from the jaws of defeat.
But it was not to be as eventually the asking proved to to be too tall for Hales and Morgan, whose efforts went in vain as England finished at 164 for four.
Morgan was the star for England with the bat, scoring an unbeaten 71 runs off just 36 balls with the help of four boundaries and five huge sixes. Hales played the role of a shit-anchor and made well-deserved 68 off 51 balls.
England's chase got off to a disastrous start as they lost their first two wickets without a run on the board.
Ravi Rampaul (2/37) inflicted the major damage to England, dismissing Craig Kieswetter and Luke Wright in consecutive balls.
Rampaul first dismissed Kieswetter, who looped the second delivery of the innings to Kieron Pollard at point. And then Wright gave a simple catch to Gayle at slips in the next ball to stand in with a chance of registering the first hat-trick of the tournament, which eventually eluded the pacer.