Sri Lanka captain Dimuth Karunaratne opted to bat after wining the toss in a World Cup match against tournament hosts England at Headingley on Friday.
England were unchanged from the side that thrashed bottom-of-the-table Afghanistan by 150 runs at Old Trafford on Tuesday - a match in which captain Eoin Morgan hit a one-day international record 17 sixes in his innings of 148.
"We'd have batted first too - the wicket looks good," said Morgan at the toss. "Let's hope it doesn't change. In previous games, it has offered turn so hopefully that suits Moeen Ali and Adil Rashid.
"It's a big day for Moeen, who has been a big part of this England team for a long time now. It's his 100th (ODI) cap and he's a big Liverpool fan, so Steven Gerrard sent him a video message. He's buzzing about that," Morgan added.
Sri Lanka made two changes from the side that lost by 87 runs to champions Australia at the the Oval on Saturday - their only game in 16 days during a rain-marred campaign.
Top-order batsman Lahiru Thirimanne and spin-bowling all-rounder Milinda Siriwardana were dropped, with their places taken by Avishka Fernando and Jeevan Mendis.
"It looks a great pitch for batting, we want to get runs on the board to put pressure on England," said Karunaratne.
"It has been a good chance to regroup since we last played and discuss what things are wrong, that's what we did the last few days."
England, third in the table, and will go ahead of leaders Australia if they defeat Sri Lanka, currently sixth in the standings.
The top four sides at the end of the 10-team round-robin group stage will qualify for the semi-finals.
England: Jonny Bairstow, James Vince, Joe Root, Eoin Morgan (capt), Ben Stokes, Jos Buttler (wkt), Moeen Ali, Chris Woakes, Adil Rashid, Jofra Archer, Mark Wood
Sri Lanka: Dimuth Karunaratne (capt), Kusal Perera (wkt), Avishka Fernando, Kusal Mendis, Angelo Mathews, Dhananjaya de Silva, Jeevan Mendis, Thisara Perera, Isuru Udana, Lasith Malinga, Nuwan Pradeep
Umpires: Paul Wilson (AUS), Marais Erasmus (RSA)
TV umpire: Bruce Oxenford (AUS)
Match referee: Richie Richardson (WIS)
Follow Emirates 24|7 on Google News.