Chasing 154 for victory, England rode on a brisk 82-run partnership between Roy and Alex Hales to canter home in 17.1 overs after the bowlers had restricted a much-fancied New Zealand to 153 for eight.
Roy rose to the occasion, smashing four boundaries in the very first over against Corey Anderson to set the tone for what turned out to be a perfect chase for the 2010 champions.
New Zealand’s bowlers, who had shone in the team’s unbeaten run to the semis, were at the receiving end of some brutal hitting that kept the packed house at Feroz Shah Kotla entertained.
The introduction of spin after six overs of powerplay did little to improve the situation but Mitchell Santner gave the Kiwis their first breakthrough when he got Hales (20) out.
Leg-spinner Ish Sodhi also tried to bring some drama back into the game after picking the wickets of Roy and Eoin Morgan (0) to leave himself on a hat-trick, but England made sure they stayed on course.
Jos Buttler (32), who denied Sodhi his hat-trick, and a composed Joe Root (27) then drove England to their second World T20 final, with Buttler hitting a four and two sixes against Sodhi to finish things off in style.
Earlier, England’s bowlers responded well to their captain’s decision to field first to restrict New Zealand after a poor start.
Stokes’ three wickets
New Zealand lost opener Martin Guptill early but Kane Williamson and Colin Munro counter-attacked with a 74-run partnership to lay a solid foundation before the Kiwis faltered late on.
Munro (46) and Williamson (32) proved too hot to handle for England’s pacers as the duo took a special liking to Liam Plunkett and Stokes in the opening stages, both of whom came back well in their second spells.
Left-hander Munro smacked Plunkett for three straight boundaries in the sixth over of the innings to set the pace and his reverse-hit for a six against Adil Rashid brought the house down.
But Morgan then juggled his bowlers around and off-spinner Moeen Ali’s introduction in the 11th over soon saw the back of Williamson.
Plunkett did well in his second spell to deny the dangerous Munro, whose 32-ball knock included seven boundaries and a six. He was denied his fifty when a wild slice went straight into the safe hands of Ali at third man.
England’s fielders continued to pouch their catches and Morgan dived beautifully at extra cover to get rid of Ross Taylor off Chris Jordan.
The wickets quickly tumbled and New Zealand’s run-rate, which had started impressively, plummeted.
Stokes was going for a hat-trick near the end after sending back Luke Ronchi for three and the hard-hitting Anderson for 28.
The impressive all-rounder ended with figures of 3-26 as New Zealand lost five wickets for 35 runs in the final 30 deliveries of their innings.
England will take on the winner of the second semi-final between India and West Indies in Sunday’s showdown at Kolkata’s Eden Gardens.