Both players are recalled having missed the recent three-Test series against Pakistan in the United Arab Emirates.
Young left-arm pacer Vishwa Fernando is the only uncapped player in the squad which shows few changes from the one that drew 1-1 with Pakistan after a dramatic defeat in the final game in Sharjah.
Although Fernando travelled to the UAE, he did not feature in any of the three Tests as Shaminda Eranga, Suranga Lakmal and Nuwan Pradeep were preferred while Rangana Herath, Dilruwan Perera and Sachithra Senanayake shared the spin-bowling duties.
Senanayake makes way for the return of Mendis while Kushal Perera, who covered for Thirimanne in the United Arab Emirates, is left out.
Vithanage played two Tests against Bangladesh last year but has not featured since, although he did play in the final two One-Day Internationals against Pakistan.
Mendis has played 17 Tests, the last of which was the first against Bangladesh in March 2013.
The team will shortly leave for Bangladesh after assurances were given that the country is safe for them to play in following political unrest centred around elections early this year.
They are scheduled to play two Tests, in Mirpur and Chittagong, with the opening game beginning on 27th January.
They will also play two Twenty20 Internationals and three One-Day Internationals.
Sri Lanka Test squad: Angelo Mathews (captain), Dinesh Chandimal (vice-captain), Shaminda Eranga, Vishwa Fernando, Rangana Herath, Mahela Jayawardene, Prasanna Jayawardene, Dimuth Karunaratne, Suranga Lakmal, Ajantha Mendis, Dilruwan Perera, Nuwan Pradeep, Kumar Sangakkara, Kaushal Silva, Kithruwan Vithanage
© Cricket World 2014