Chris Gayle and Kieran Powell hit centuries as West Indies closed day three against New Zealand in Antigua on 442-6 in their first innings, a lead of 91.
Gayle marked his first Test for 18 months by blasting 17 fours and four sixes in his 150, while his opening partner Powell struck 134.
They put on 254 for the first wicket - the fourth highest stand made by a West Indies opening pair - before both were dismissed in the afternoon session.
From an overnight 145-0, the home side added 100 runs in the morning, Gayle completing his 14th Test hundred with a smeared six to midwicket off Chris Martin.
Powell joined him in three figures after pulling a Neil Wagner short ball past square-leg for four in the second over after lunch.
Gayle was continuing at a frenetic rate and went to 150 shortly after, although he perished in the next over when he clubbed Kane Williamson to Brendon McCullum at long-off.
Powell continued unabashed and looked like he was emulating Gayle when he hammered Wagner (1-103) for three successive fours but he was dismissed off the fourth ball of the over when he edged a wide delivery behind.
After Assad Fudadin and Marlon Samuels put on 51 for the third wicket, Martin (2-109) struck with successive deliveries - Samuels (28) inside edged onto his stumps and Shivnarine Chanderpaul gloved behind first ball.
And there was further success for the tourists late in the day, part-time spinner Williamson (2-47) removing Fudadin (55) and Doug Bracewell (1-81) seeing off Denesh Ramdin (3).
Narsingh Deonarine (54no) was joined through to stumps by skipper Darren Sammy (8no), who hit his fifth ball for six.