Iyer led the chase with an unbeaten 102 off 43 deliveries, hitting 10 fours and six sixes, as India cruised to victory with 32 balls to spare.
Abhishek Sharma provided an early burst before Roston Chase dismissed him for 21 off 10 balls. Sanju Samson departed soon after, leaving India at 35 for two.
Iyer and Ishan Kishan then wrested control of the chase, combining in an unbroken 137-run partnership off 67 deliveries to seal victory for India.
West Indies were put in to bat and slipped to 44 for three in the powerplay after Arshdeep Singh removed Kamil Pooran for 12, with Shimron Hetmyer and Rovman Powell also falling early.
Opener Shai Hope rebuilt the innings with Sherfane Rutherford in a 63-run fourth-wicket stand before Naman Dhir dismissed captain Hope for 52 off 37 balls.
Dhir and Kuldeep Yadav struck through the middle order as India tightened their grip, before Mayank Yadav dismissed Rutherford for 56.
Axar Patel cleaned up the tail as West Indies were bowled out for 171 on the first ball of the 20th over.