Zimbabwe captain Elton Chigumbura won the toss and chose to field against Sri Lanka in the World Cup Group A match at Pallekele International Cricket Stadium on Thursday.
Sri Lanka has five points from four matches while Zimbabwe has two from three games.
Fast bowlers Nuwan Kulasekera and Thisara Perera replaced spinners Rangana Herath and Ajantha Mendis from the team which played in a rain abandoned game against Australia.
Zimbabwe dropped out-of-form opener Charles Coventry from the side which lost to New Zealand by 10 wickets. Fast bowler Chris Mpofu recovered from a side strain as Zimbabwe strengthened its bowling line-up.
Sri Lanka has not lost any of its previous four World Cup matches against Zimbabwe.
It defeated Zimbabwe by 74 runs when both teams last met in a World Cup match at East London, South Africa in 2003.
Sri Lanka: Upul Tharanga, Tillakaratne Dilshan, Kumar Sangakkara (captain), Mahela Jayawardene, Thilan Samaraweera, Chamara Silva, Angelo Mathews, Nuwan Kulasekara, Lasith Malinga, Thisara Perera, Muttiah Muralitharan.
Zimbabwe: Brendan Taylor, Regis Chakabva, Tatenda Taibu, Prosper Utseya, Craig Ervine, Elton Chigumbura (captain), Greg Lamb, Graeme Cremer, Ray Price, Tinashe Panyangra, Chris Mpofu.
Umpires: Marais Erasmus, South Africa and Nigel Llong, England.
TV umpire: Tony Hill, New Zealand. Match referee: Chris Broad.