Dinesh Chandimal has been named Sri Lanka's new Test captain, while Upul Tharanga will lead the side in shorter formats following Angelo Mathews' decision to stand down.
Mathews called time on his captaincy across all formats following the 3-2 one-day international series loss to Zimbabwe, a team they meet in a one-off Test, starting Friday.
Chandimal, who steps up from vice-captain, is relishing the prospect of taking the helm as Sri Lanka seek to improve on a modest run of form.
"I want to take this team and Sri Lanka forward, so I will put my heart and soul into the job," said the wicketkeeper-batsman.
"I'm very thankful to the job that Angie [Mathews] has done for us. Captaincy is not an easy job and he was an excellent leader for us over four and a half years.
"He's also a terrific batsman and a match-winner for us and I have huge hopes that he will continue to be one in the coming years as well."
Mathews skippered his country in 34 Tests, 98 ODIs and 12 Twenty20s after assuming the role in 2013.
Zimbabwe's shock win over Sri Lanka was their first against a Test-playing nation other than Bangladesh since they prevailed against New Zealand in 2001.
Sri Lanka side to face Zimbabwe:
Dinesh Chandimal, Upul Tharanga, Angelo Mathews, Niroshan Dickwella, Dimuth Karunaratne, Danushka Gunathilaka, Kusal Mendis, Asela Gunaratne, Rangana Herath, Dilruwan Perera, Lakshan Sandakan, Vishwa Fernando, Suranga Lakmal, Dushmantha Chameera, Lahiru Kumara