England survived a major scare at the hands of Angelo Mathews as they booked their place in the World Twenty20 semi-finals and eliminated reigning champions Sri Lanka with a thrilling 10-run win in Delhi.
Jos Buttler's unbeaten 37-ball 66 lifted Eoin Morgan's men to an imposing total of 171-4 on Saturday and their progression to the last four seemed certain when Sri Lanka slumped to 15-4 after three overs in reply.
However, Mathews steadied the ship alongside Chamara Kapugedera (30) and then moved into overdrive against England's spinners, despite being hampered by an apparent hamstring injury, to set up a thrilling finale.
Sri Lanka's limping captain was still there with 15 needed from the final over, after Chris Jordan picked up two wickets in the 19th to finish with 4-28, but Mathews was unable to find the boundary off Ben Stokes (0-19 from four) and his innings of 73 not out off 54 balls proved in vain.
England are set to be back in Delhi on Wednesday to face unbeaten Group 2 winners New Zealand, while Sri Lanka's final Super 10 game against South Africa on Monday will now be a dead rubber - with neither side able to reach the last four.
When a mix-up between Mathews and Lahiru Thirimanne led to the latter being run out by Stokes at the non-striker's end, Sri Lanka were in disarray - having already lost Tillakaratne Dilshan, Dinesh Chandimal and Milinda Siriwardana for single-figure scores.
Mathews and Kapugedera put on 80 for the fifth wicket, though, and England's position became increasingly perilous as Moeen Ali and Adil Rashid were taken for a total of 63 in four overs - Sri Lanka's captain doing much of the damage.
Thankfully for Morgan, his seamers were able to stem the flow of runs as Sri Lanka's potency was limited by Mathews' injury and the departures of Thisara Perera (20) and Dasun Shanaka (15), who each fell to the impressive Jordan.
England were ultimately grateful for Buttler's earlier fireworks, which came after Jason Roy and Joe Root had set a solid platform with respective innings of 42 and 25.
Once again showcasing his immense power and ability to score at 360 degrees around the wicket, Buttler dominated a fourth-wicket stand of 74 with Morgan (22) and was chiefly responsible for ensuring 72 came from the last five overs of England's innings, which ended with a Stokes six.