After being put in to bat, West Indies scored 176-9, thanks to a whirlwind start by Evin Lewis and Chris Gayle.
Captain Carlos Brathwaite (3-20) and Kesrick Williams (3-35) then undermined England's comeback. Spinner Sunil Narine picked up 2-15 and England was bowled out for 155 with three balls to spare.
"We had a good start and fell away but then the way we finished the game it was fantastic," Brathwaite said.
Earlier, Gayle and Lewis smashed 72 runs off 39 balls for the opening wicket before West Indies lost its momentum. Lewis made 51 off 28 balls and Gayle 40 off 21 balls.
Adil Rashid (3-25) and Liam Plunkett (2-27) put the brakes on West Indies' run spree once Gayle was run out in the seventh over.
Gayle hit three fours and four sixes in his typically aggressive knock before West Indies stumbled and lost nine wickets for 104 runs.
England lost Jason Roy off the very first ball of its run chase when he was dismissed by Jerome Taylor.
However, Alex Hales (43) smashed eight fours and a six and took England to 64-1 inside the first batting powerplay. Then England lost three wickets in three overs.
Brathwaite ignited the collapse when he had Hales clean bowled off a straight delivery, then Joe Root (17) caught in the next over off Ashley Nurse.
Root attempted a needless reverse sweep off Narine and was caught at short third man as England slumped to 68-4 in the eighth over.
Jos Buttler (30) and Jonny Bairstow (27) added 50 runs before Williams broke the stand in the 15th over when Buttler holed out in the deep.
Bairstow left England reeling at 129-8 when he was caught at backward square leg in the 17th over. Plunkett narrowed the margin of defeat by hitting two boundaries in his knock of 18.
"Bowling at a pair like Lewis and Gayle was a huge opportunity to test ourselves and we didn't bowl that well," England captain Eoin Morgan said. "We were happy chasing but I think losing three quick wickets cost us."
The one-day international series starts on Tuesday. (CMC)
England vs West Indies - T20I
(Maximum 20 overs)
C Gayle run out (Roy/Plunkett) 40
E Lewis c Root b Plunkett 51
M Samuels c Root b Plunkett 10
C Walton c Willey b Rashid 13
K Pollard c Curran b Plunkett 6
R Powell c Jordan b Curran 28
C Brathwaite b Rashid 2
S Narine lbw b Rashid 2
A Nurse not out 13
J Taylor lbw b Jordan 1
K Williams not out 2
Extras (w7, lb1) 8
TOTAL (9 wkts, 20 overs) 176
Fall of wickets: 1-77 ; 2-106;
3-115; 4-123; 5-127; 6-138;
7-142; 8-165; 9-167
Bowling: Willey 2-0-20-0 (w1)
Root 2-0-11-0 (w2)
Curran 4-0-46-1 (w1)
Jordan 4-0-46-1 (w2)
Plunkett 4-0-27-3 (w1)
(Target: 177 off 20 overs)
J Roy c Lewis b Taylor 0
A Hales b Brathwaite 43
J Root c Brathwaite b Nurse 17
E Morgan c Lewis b Narine 2
J Buttler c Powell b Williams 30
J Bairstow c (sub) Mohammed b Mohammed 27
A Rashid c wkpr Walton b Williams 1
D Willey st Walton b Narine 1
L Plunkett b Brathwaite 18
C Jordan c Brathwaite b Williams 6
T Curran not out 1
Extras (lb4, w5) 9
TOTAL (all out, 19.3 overs) 155
Fall of wickets: 1-0; 2-64;
3-66; 4-68; 5-118; 6124;
7-127; 8-129; 9-148
Bowling: Taylor 3-0-20-1;
Williams 4-0-35-3 (w3);
Nurse 3-0-23-1 (w1);
Result: West Indies won by 21 runs
Series: West Indies win one-off match
Player-of-the-Match: S Narine (West Indies)
Umpires: M Gough, T Robinson
TV umpire: R Bailey
Match referee: J Srinath (India)
Reserve umpire: A Wharf
WI beats England to win by 21 runs
Con InformaciÃ³n de The trinidad Guardian
SÃguenos en Twitter @entornoi