England all but secured their place in the semi-finals of the T20 World Cup as Jos Buttler's sensational century set up a tense 27-run win over Sri Lanka.
Chasing 164 after Buttler's 101 not out, Sri Lanka required just 34 from 20 balls to end England's unbeaten start to the tournament.
But, with England battling the dew and the loss of Tymal Mills to injury, Jason Roy and Sam Billings combined for a fine relay catch on the boundary to dismiss Wanindu Hasaranga for 34.
Sri Lanka captain Dasun Shanaka, who put on 53 with Hasaranga, was brilliantly run out by a Buttler direct hit in the following over.
The final three wickets fell for three runs in seven balls as Sri Lanka were bowled out 137 in Sharjah.
It sealed England's fourth victory from four games, one more comfortable than looked likely at times in both innings.
Buttler rescued an innings floundering at 35-3, reaching his maiden Twenty20 international hundred with a six off the final ball as England posted 164-4.
They remain top of Group 1 and, while Australia and South Africa could still join them on eight points, it would take an improbable swing of net run-rate for both sides to overtake them.
England meet South Africa in their final group game in Sharjah on Saturday.
Sensational Buttler stars for England
England fans are used to spectacular things from Buttler in white-ball cricket - just two days ago he scored 71 not out from 32 balls against Australia - but this should go down as one of his greatest innings.
It was the epitome of absorbing pressure, finding rhythm and then exploding in attack - a complete contrast to his brutal, carefree hitting on Saturday.
After 38 balls Buttler had only 35 runs. His fifty, reached in 45 deliveries, was his slowest in T20s for England.
But he then attacked like few in the world can. He hit two sixes in the 15th over, both over long-off, to give impetus to an innings that was going nowhere at 47-3 at the halfway stage.
Buttler shared 112 with captain Eoin Morgan, who overcame his own slow start to make 40 from 36 balls.
In total Buttler hit six sixes, the last a full toss flicked over square leg which took him to three figures.
The shot saw him become only the fourth man to hit a T20 hundred for England and join women's captain Heather Knight as the only two players to score centuries in all three formats for England.
More to follow.