The two-time champions won with six balls remaining, but they needed 37 to win off the last 19 balls.
They crossed the finish line thanks to the 40-run combination between Roston Chase and Andre Russell, who combined for an undefeated 42 runs.
Despite opener Tony Ura and Lega Siaka's expressive batting, PNG lost 7-2 in the third over of their innings.
PNG was down to 98-6 after the opener and captain Assad Vala scored 21 runs and Sese Bau scored 50 runs off of 43 balls before being bowled by Alzarri Joseph.
They reached 136-8 thanks to 27 not out from wicketkeeper Kiplin Doriga.
Russell, Joseph, and Romario Shepherd each took two wickets, while Gudakesh Motie, Akeal Hosein, and Romario Shepherd each took one.
Alei Nao responded by trapping West Indies opener Johnson Charles for a golden duck, ending his innings. In the second over, Nao had the opportunity to remove Windies wicketkeeper Nicholas Pooran for a duck, as technology indicated that the ball would have been out if reviewed.
Pooran and Brandon King put up a 53-run partnership after escaping the early scare, but Pooran gave up on 27.
After that, Vala removed Sherfane Rutherford (2) and King (34) from the Windies, who had gone from 61-1 to 97-5.
But Chase and Russell's seasoned teamwork helped them cross the finish line and prevent a blowout.
They scored the necessary runs in just 13 balls, with Russell capping the 17th over with a long hop that resulted in a six, and Chase's next ball with a four that was given to them by a misfield.