Electing to field, England staged a strong comeback in the second half of New Zealand´s innings to restrict their opponents to a modest 153 for eight at the Feroz Shah Kotla Stadium.
Roy and Alex Hales (20) then provided a flying start to their reply and Jos Buttler smacked a six to seal semi-final victory with 17 balls to spare.
England, the 2010 champions, now meet the winners of Thursday´s match between India and West Indies on Sunday.
Roy launched England´s reply in emphatic style, smacking four boundaries off the first over by Corey Anderson. New Zealand skipper Kane Williamson introduced spinner Mitchell Santner in the fifth over but a breakthrough still proved elusive.
Roy took 26 balls to bring up his maiden half-century in Twenty20 internationals as he put on 82 for the first wicket with Hales.
Leg-spinner Ish Sodhi gave the Kiwis hope by removing Roy and captain Eoin Morgan off successive deliveries but Buttler (32 not out) provided the fireworks and Joe Root (27 not out) the composure to fashion an easy win for England.
Earlier, New Zealand cruised to 89 for one after 10 overs before Morgan´s men rallied.
After dangerous opener Martin Guptill fell in the third over, Colin Munro (46) added 74 for the second wicket with Williamson (32) to lay the foundations for a big total.
England, however, applied the brakes with some disciplined bowling and tight fielding.
Anderson made 28 down the order but New Zealand eventually fell well short of the 175 total that looked reachable at the halfway stage.
Ben Stokes (3-26) was the pick of the England bowlers, again showing how good he is in the latter stages of an innings.
Earlier on Wednesday, England´s women lost their semi-final to Australia.
Special coverage on China's Two Party Sessions by The Daily Mail - People's Daily