Put into bat in the rain-hit match at the Providence Stadium in Guyana, 2007 champions India posted 171 for seven with skipper Rohit Sharma (57) and Suryakumar Yadav (47) scoring bulk of the runs on a slow track.
England were all out for 103 in the 17th over, never really recovering from a top-order collapse and surrendering to India's spin duo of Axar Patel and Kuldeep Yadav, who claimed three wickets apiece.
Rain and a wet outfield delayed start of the match and England captain Jos Buttler elected to field after winning the toss.
India managed 46 runs from the six power-play overs and it cost them the wickets of Virat Kohli and Rishabh Pant.
Rohit began with a couple of streaky shots but soon grew in confidence.
Suryakumar, at the other end, scooped Chris Jordan over fine leg in what has been his trademark shot for a six before rain stopped play with India 65-2 in eight overs.
Once play resumed more than an hour later, Rohit reached his 36-ball fifty with a six, which also brought up India's 100 in the 13th over.
Adil Rashid bowled Rohit and Jofra Archer denied Suryakumar a fifty to temporarily peg back India.
Jordan (3-37) dismissed Hardik Pandya and Shivam Dube with successive deliveries but India still managed to post a competitive total.
England began briskly but were reeling at 49-5 after a top order meltdown triggered by Axar (3-23).
The left-arm spinner dismissed Buttler (23) with his first ball and removed Jonny Bairstow for a duck in his next over.
In between, Phil Salt had his leg stump pegged back by Jasprit Bumrah.
Player-of-the-match Axar returned to dismiss Moeen Ali stumped before fellow spinner Kuldeep (3-19) twisted the knife on a slow pitch where the ball occasionally kept low.
The left-arm wrist spinner trapped both Sam Curran and Jordan and clean bowled Harry Brook (25) to put India firmly in charge.
South Africa too much for Afghanistan
Marco Jansen and Tabraiz Shamsi took three wickets apiece as South Africa skittled Afghanistan for 56 on their way to a comprehensive nine-wicket victory in the first Twenty20 World Cup semifinal in Trinidad yesterday.
It was a first victory in eight short-format World Cup semifinals going back to 1992 for the Proteas.
The perennial underachievers looked anything but as they ripped through the Afghan batting in less than 12 overs at Brian Lara Stadium to restrict their shellshocked opponents to their lowest ever score in T20 internationals.
South Africa's batting has stuttered at times during the tournament and Fazalhaq Farooqi bowled Quinton de Kock early, but Reeza Hendricks and skipper Aiden Markram got the Proteas to their target without further losses inside nine overs.