Lendl Simmons hit an unbeaten 82 off 51 balls to guide the West Indies to the stunning seven-wicket win.
Despite the early dismissal of their run-machine Chris Gayle for five they chased down India's score of 192-2 with two balls to spare and set up a final with England, champions in 2010, at the Eden Gardens in Kolkata on Sunday.
There was double joy for the Caribbeans with their women also making it to the decider, at the expense of former champions New Zealand.
India made two changes to the team that defeated Australia, bringing in Manish Pandey for injured Yuvraj Singh, and Rahane for out-of-form opener Shikhar Dhawan.
The West Indies too made two changes to their eleven that lost their last Super 10 game to Afghanistan at Nagpur, bringing in Chris Gayle for Evin Lewis, and Lendl Simmons for the injured Andre Fletcher.
Simmons, who had quite a charmed life out in the middle, being dismissed thrice off no-balls which proved crucial in the end, played a key role in the victory, belting seven fours and five sixes, while Andre Russell, who hit the winning runs, was unbeaten on 43 from 20 balls, inclusive of three fours and fours sixes.
The duo's unbroken stand of 80 runs from 39 balls for the fourth wicket earned the West Indies a well-deserved victory.
India were left ruing the let-offs to Simmons due to overstepping committed, first by Ravichandran Ashwin when the batsman was on 18 in the seventh over, and then Hardik Pandya when he was on 58 in the 15th over with the West Indies cruising at 132 for three.
It was an unbelievable turnaround by the 2012 champions after the Gayle and Marlon Samuels (8) departed early.
Earlier, Kohli, who masterminded India's entry into the semi-finals with a brilliant 82 not out against Australia at Mohali in their last Super 10s game, was in his element, striking 11 fours and a six, to help the team capitalise on fine start given by Rohit Sharma and Ajinkya Rahane.
Sent in to bat, the hosts were off to a sound start as their new opening combination of Sharma (43 off 31 balls) and Rahane (40 off 35) put on 62 runs.
Rahane and Kohli then added 66 runs for the second wicket before the latter and captain Mahendra Singh Dhoni (15 not out) put on 64 in 27 balls for the unfinished third wicket to give the West Indies a challenging total to chase.
Sharma, who came into the game with scores of 5, 10, 18 and 12 in the Super 10 phase, exploded into action after playing out a couple of quiet overs.
He struck medium pacer Carlos Brathwaite over long-on for a six, the first boundary of the match, and then cover-drove and swept Sulieman Benn for successive fours.
The last over of powerplay brought out the best in terms of runs and power-hitting from the Mumbai batsman, raising the first half century partnership for the opening wicket in the process, by carting Andre Russell for sixes off successive deliveries.
He later pulled the West Indian pacer for a four too as 20 runs came in the over and the total rocketed to 55 at the end of the powerplay.
Sharma departed just when he was looking good for his first fifty of the tournament event and his first in his last eight T20 Internationals, trapped leg before after being unable to read Samuel Badree's googly.
His innings included three sixes and as many fours.
A huge ovation from the packed stadium, like what retired great Sachin Tendulkar – seated inside the stadium - used to receive, greeted the in-Kohli when he walked in to bat.
He could have been run-out twice off the same delivery in the ninth over when setting off for a non-existent single. But the throw by wicketkeeper Denesh Ramdhin, first, and then by Dwayne Bravo, the bowler, as the batsman tried to scamper back to the crease, missed the stumps at the striker's end.
Later, he top-edged to the third man fence in the same over before settling down to his normal attractive play.
At the half-way stage of the innings, India's score was 86 for one, with Rahane, given his first game in the tournament and his 18th overall, having upped gears a bit after a sedate start.
Rahane, who found gaps in the field with ease, and Kohli ran quick singles and twos to put on a brisk second-wicket stand, raising the 100 of the innings in 12.2 overs against a largely disciplined Windies bowling attack that was backed up by good fielding till the last four overs.
Kohli later sliced a drive in between two fielders stationed at backward point for a four off Brathwaite as India scored 127 for one after 15 overs.
Rahane was caught at deep mid-wicket, just inside the rope by Bravo, as he pulled a short ball from Russell in the next over.
His exit brought together Kohli and captain Dhoni after the second-wicket pair had raised 66 runs off 50 balls.
After Dhoni played an innovative paddle shot off Brathwaite, Kohli pulled the bowler for a four and then chipped for two runs to complete his third fifty of the tournament off 43 balls.
Brathwaite conceded 17 runs in the 17th over, at the end of which India were 150 for two.
Kohli stepped up the ante in the 19th by clobbering Brathwaite for a six and two fours as the last four overs produced 59 runs.
The unfinished partnership between Kohli and Dhoni produced 64 runs in 27 balls.
In reply, West Indies buckled under pressure in front of a crowd of over 32,000 and slumped to 6 for 1 and 19 for two before Simmons, Charles and Russell turned things around to dash India's hopes.
Simmons put on a vital partnership of 97 runs off 62 balls with another youngster Johnson Charles (52 in 36 balls) after the West Indies were rocked by the dismissals of swashbuckling opener Gayle and Samuels with just 19 on the board.
Charles departed after striking two sixes and seven fours, leaving Simmons and Russell to take the West Indies to the victory mark, the latter striking two successive fours off Kohli's last over. The unfinished stand between Simmons and Charles produced 80 off 40 balls.
This was the third time in four clashes in the tournament's history that the West Indies got the better of India, who had won their earlier clash two years ago in Bangladesh on way to finishing runner-up to Sri Lanka. India's total was their second-highest in the tournament's history.