Pallekele - England captain Stuart Broad won the toss and sent Sri Lanka in to bat in the final group one Super Eights match of the World Twenty20 in Pallekele on Monday.
Sri Lanka sent senior pro Kumar Sangakkara for the toss in place of regular captain Mahela Jayawardene, who will however continue to lead the side.
The 'Super Over' win by the West Indies over New Zealand earlier on Monday kept three teams in the race for the two semi-finals berths from the group.
Sri Lanka and the West Indies are level on four points each and defending champions England, who have two points, must beat the hosts to stay in contention.
England dropped Craig Kieswetter, Danny Briggs and Tim Bresnan to play Ravi Bopara, Jade Dernbach and Samit Patel.
Sri Lanka brought back teenage spinner Akila Dananjaya in place of Rangana Herath.
England: Stuart Broad (captain), Jonathan Bairstow, Jos Buttler, Jade Dernbach, Steven Finn, Alex Hales, Ravi Bopara, Samit Patel, Eoin Morgan, Graeme Swann, Luke Wright.
Sri Lanka: Mahela Jayawardene (captain), Angelo Mathews, Kumar Sangakkara, Tillakaratne Dilshan, Lahiru Thirimanne, Jeevan Mendis, Thisara Perera, Lasith Malinga, Nuwan Kulasekara, Ajantha Mendis, Akila Dananjaya.
Umpires: Simon Taufel (AUS) and Steve Davis (AUS)
TV umpire: Asad Rauf (PAK)
Match referee: Javagal Srinath (IND)