The 30-year-old will lead the team while playing his first one-day game since 2015.
Karunaratne’s leadership was praised after Sri Lanka won a two-match series against South Africa in February to become the first Asian team to win a test series in the African nation.
Sri Lanka Cricket said Karunaratne’s appointment was ratified by the Minister of Sports Harin Fernando.
Karunaratne has not played a one day international since the 2015 World Cup, but was tipped to take over from fast bowler Lasith Malinga who led the side in a 5-0 thrashing in the ODI series against South Africa following the test triumph.
He also answered his critics with a string a impressive performances with the bat during the recent domestic one-day tournament, scoring 165 runs in four matches at an average of 55.
The left-handed opening batsman has played 60 tests and 17 one-day games for Sri Lanka.