Ben Stokes kept his composure to lead England into the T20 World Cup semi-finals after they flirted with capitulating to Sri Lanka's band of spinners at Sydney.England needed to win their final Super 12s contest to pip Australia to second place in their group and reach the last four but, chasing 142, they slipped from 75 for none to 129 for six with 12 balls left.But Stokes found the gaps and ran hard to finish unbeaten on 42 off 36 balls before Chris Woakes’ cut for four got England over the line with four wickets and two deliveries to spare in a nail-biting finish.Stokes, batting at three after Dawid Malan tweaked his groin during Sri Lanka’s innings, was averaging 9.8 with the bat in six innings since his T20 recall but was once again England’s saviour here.On a used pitch, Jos Buttler (28 off 23 balls) and Alex Hales (47 off 30) had taken the attack to Sri Lanka’s quicks but the dangerous Wanindu Hasaranga and Dhananjaya de Silva took two wickets apiece.Hasaranga, Dhananjaya and fellow spinner Maheesh Theekshana leaked just 69 runs in 12 combined overs after Adil Rashid had impressed for England with 4-0-16-1 in Sri Lanka’s 141 for eight.Pathum Nissanka targeted one shorter square boundary with ruthlessness, hitting two fours and five sixes, in his 67 off 45 balls but Sri Lanka faded after reaching 65 for one from seven overs.Nissanka was up and running second ball after turning a loose delivery from Stokes over long leg while the Sri Lanka opener used Mark Wood’s 90mph-plus pace against him with a terrific uppercut for six.Kusal Mendis perished for 18 when trying to clear the longer square boundary off Woakes’ slower ball, but Nissanka wisely waited to free his arms when the shorter option was there on the leg-side.