India has thumped defending champion England by 68 runs to reach the final of the Twenty20 World Cup.
India will face South Africa at 12.30am Sunday morning AEST at Kensington Oval in Bridgetown, Barbados in a battle of the two unbeaten teams of the tournament.
Captain Rohit Sharma's (57) second half-century on Friday helped India compile 7 for 171 and Suryakumar Yadav also blunted the England pace and spin with a vital knock of 47 off 36 balls after more than two and a half hours of play was lost due to rain and wet outfield.
Spinners Axar Patel and the Kuldeep Yadav then combined for 6 for 42 through some sharp turners as England got bowled out for 103 in 16.3 overs on a skiddy, low pitch devoid of grass to bow out of the tournament.
Captain Jos Buttler smashed four boundaries in his 23 off 15 balls, but once he top-edged a reverse sweep off left-arm spinner Patel's first ball and lobbed the simplest of catches behind the wicket, England kept on losing wickets at regular intervals.
The win was sweet revenge for India, which got hammered by England by 10 wickets in the 2022 World Cup semifinal in Australia.
Earlier, Sharma and Yadav combined in a 73-run third-wicket stand on a pitch where batters struggled to negotiate the variable bounce of pace and spin.
Virat Kohli's below-par tournament continued after a wet outfield delayed the toss for 80 minutes. Buttler eventually won the toss and elected to field.
Kohli took his run tally to a disappointing 75 runs in seven games with a run-a-ball knock of nine before Reece Topley hit the top of leg stump.
But Sharma countercharged on a difficult wicket before heavy rain took the players off the field for another 73 minutes when India had reached 2 for 65 after eight overs.
Sharma reached his 50 after the resumption of play with a swept six over fine leg off Sam Curran, and Yadav hammered the left-arm fast bowler to point for a six before both exited in successive overs.
Sharma was undone by a googly from Adil Rashid (1 for 25) in his last over and was clean bowled, while Yadav was deceived by Jofra Archer's slower ball and ballooned a catch to long off.
Chris Jordan picked up 3 for 37 that included the wickets of Hardik Pandya (23) and Shivam Dube off successive balls, but India had piled up enough runs for its spinners to defend.
AP
Sports content to make you think... or allow you not to. A newsletter delivered each Saturday.