England have been set a total of 169 by Sri Lanka to ensure that they remain in the T20 World Cup.
Mahela Jayawardene got Sri Lanka off to a positive start with 42 runs from 38 balls before he was dismissed when Eoin Morgan caught him off the bowling of Graeme Swann.
Angelo Mathews and Jeevan Mendis then came to the crease and began to record some runs. However, captain Stuart Broad claimed both of their wickets with successive deliveries to bring England back into contention.
Those wickets brought Thisara Perera to the crease for the home side and the 23-year-old hit two over the boundary ropes to swing the match back in his nation's favour.
Perera eventually ended the innings with 25 runs to his name.
Defeat for England would see them exit the competition immediately, while a win would see them progress to the semi-finals along with the hosts.