The innings marked the 14th time Gayle had passed three figures in test cricket and it was his third century against the Kiwis.
The 22-year-old Powell will long remember his 134 as it was the opener's maiden test hundred, while his dismissal also marked Neil Wagner's first wicket in the longest form of the game.
Once their openers had been dislodged, the West Indies looked to regroup and push past New Zealand's total in search of a lead and just after they had edged past the Kiwis' 351, veteran paceman Chris Martin found his stride.
The 37-year-old right-armer got rid of Marlon Samuels for 29 and then had the experienced Shivnarine Chanderpaul heading back to pavilion only one ball later when the left-hander was caught by van Wyk for only his sixth first-ball duck in test cricket.
Martin's burst gave the visitors a lift in energy but the West Indies counter-punched through number three, Assad Fudadin, who made 55 before McCullum and Williamson combined again to send him on his way and left the Calypso Kings on 410-5.
Doug Bracewell knocked over Denesh Ramdin late in the day as New Zealand finished the final session with four wickets, but of greater concern to coach John Wright will have been Daniel Vettori's inability to pick up a wicket.
The left-arm spinner bowled 42 without managing to pick up a single scalp and it followed on from his last test against South Africa at the Basin Reserve in March where he only claimed on wicket from 49 overs across both innings.
Vettori looked dangerous with the ball and only conceded 93 runs but he failed to extract vast amounts of turn from the pitch.
It was hard to say he was out of form given he registered 6-48 in the first innings of the tour match against the West Indies Cricket Board President's XI at the same ground last weekend.
Wagner, who is enduring a tough debut, ran in throughout the day with plenty of vigour and was perhaps unlucky not grab another wicket or two.