England will face South Africa at The Oval on Wednesday in the semi-finals of the Champions Trophy.
Alastair Cook's side confirmed their progression to the last four yesterday when defeating New Zealand by 10 runs in a rain-affected encounter at Cardiff Wales Stadium.
However, they could still have been overhauled at the top of Group A had Sri Lanka defeated Australia by a sufficient margin in today's final pool game.
After posting 253 for eight, Sri Lanka needed to dismiss George Bailey's side for 164 or less to top the group but were unable to do so.
Sri Lanka did go on to win by 20 runs, ensuring they - rather than New Zealand or Australia - will take on Group B winners India in the second semi-final at Cardiff on Thursday.