Lendl Simmons took advantage of undisciplined India bowling to upstage Virat Kohli as West Indies beat the hosts by seven wickets at Wankhede Stadium to set up a World Twenty20 final against England.
Kohli's magnificent 82 not out against Australia sealed India's place in the last four and he carried on where he left off by making a sublime unbeaten 89 from only 47 balls after he should have been run out on one as India posted 192-2 in Mumbai on Thursday.
But Simmons (82 not out from 51 balls) also took advantage of good fortune, cashing in on two reprieves for front-foot no-balls to guide the Windies to a sensational victory.
Simmons, playing at the ground where he represents Mumbai Indians in the IPL, was only called up this week following an injury to Andre Fletcher and bludgeoned five sixes in a brutal knock to stun India.
Johnson Charles (52 off 36) also made a half-century before Andre Russell (43no from 20) smashed Kohli, who had taken a wicket with his first ball, for six to finish off the job with two balls to spare and put the Windies one victory away from regaining the title they won in 2012.
Rohit Sharma (43) got India off to a flying start, then Kohli had a huge stroke of luck when he went walkabout but both Denesh Ramdin and Dwayne Bravo failed to run him out.
Ajinkya Rahane made a brisk 40 and Kohli shifted through the gears with some scintillating strokes to raise the roof, hitting 11 fours and one six with late support from captain MS Dhoni in a thrilling unbroken stand of 64 in only 4.3 overs.
The Windies would have been hoping for a Chris Gayle onslaught, but a partisan crowd roared yet again when Jasprit Bumrah (1-42) rocked back the big-hitting left hander's off-stump with a full and straight delivery after he had made just five.
West Indies were 19-2 when Marlon Samuels threw his wicket away, then Simmons was given a reprieve on 18 after he was caught but Ravichandran Ashwin overstepped.
Charles added to Ashwin's misery with some powerful strokes and also gave Hardik Pandya the treatment with some lusty blows, but Kohli stepped up with the ball to get the opener caught at long-on.
Simmons cut loose with some clean hitting and was given another life when he was caught once again on 50 - but this time Pandya over-stepped - before Ravindra Jadeja trod on the boundary rope trying to catch the right-hander in the deep on 68.
Those let-offs proved to be costly and even Kohli was unable to deny the Windies victory when he was given the ball by Dhoni for the final over, with Russell clubbing a four and a six to put the Windies through.