After making a 3-0 winning start to Harry Brook's captaincy in the one-dayers, England kept the momentum in the shorter format with an innings of 188-6 after winning the toss and batting first.
West Indies finished on 167-9, with Romario Shepherd caught on the final ball of the match.
Buttler, in at number three with England 16-1 after Ben Duckett was caught by West Indies captain Shai Hope off Shepherd, brought up his half century from 25 balls in the eighth over.
He had earlier smashed three sixes and scooped a four from the first four balls of a devastating sixth over with Alzarri Joseph bowling.
The 34-year-old, who stepped down as white-ball captain last February following England's group-stage exit from the Champions Trophy, continued to look like a man relieved of a heavy burden as he hit six fours and four sixes.
Needing just four for the century, he was out lbw to Joseph in the penultimate over.
The tally was Buttler's highest T20 international score on home soil.
West Indies were 33-2 off 5.2 overs after losing Johnson Charles for 18, stumped by Buttler off Dawson, and Hope caught by Duckett, who repaid his own dismissal in like-for-like fashion, for three off debutant Matthew Potts.
England restricted the visitors to 44-2 at the end of the powerplay, compared to 78-1 at the same stage of the home innings.
Evin Lewis hit the West Indies' top score of 39 off 23 balls, before being caught by Brydon Carse off of Jacob Bethell's bowling.
Dawson, back in the side at 35 and playing his first England match since 2022, claimed his second and third wickets when Duckett caught Sherfane Rutherford (2) and Roston Chase (24) in quick succession.
The left-arm spinner wrapped up with a fourth wicket, for 20 runs from his four overs, by bowling Rovman Powell as West Indies slipped to 115-6 on a tough night in the north-east.