All-rounder Dhananjaya de Silva will take over from Dimuth Karunaratne as captain of Sri Lanka's Test side, the country's cricket board (SLC) said on Thursday.
Karunaratne skippered Sri Lanka in 30 Tests over four years, winning 12, losing 12 and drawing six.
Spin-bowling all-rounder de Silva, who has played 51 Tests, will begin his tenure with a one-off Test against Afghanistan next month.
The change comes after SLC replaced Dasun Sanaka as white-ball captain on Sunday, putting Kusal Mendis and Wanindu Hasaranga in charge of the one-day and T20 squads respectively.
Sri Lanka finished ninth of 10 teams at the 50-overs World Cup in India late last year, which prompted SLC to install a new selection committee led by former opener Upul Tharanga.