West Indies will meet England in the final of the World Twenty20 on Sunday after stunning hosts India with a seven-wicket win in the semi-final.
India looked in complete control after Virat Kohli's unbeaten 89 took them to 192-2 and Chris Gayle fell for five.
But Lendl Simmons, who was twice caught off no-balls and held on the boundary only for Ravindra Jadeja to step on the rope, clubbed 82 from 51 balls.
Then Andre Russell won it with a six with two balls to spare in Mumbai.
The meeting with 2010 winners England in Kolkata will see a two-time World T20 champion crowned for the first time, while India's exit extends the wait for a host nation to lift the trophy.