India will tour Sri Lanka for a full series beginning with a test match at Galle from July 26, Sri Lanka Cricket (SLC) announced on Friday.
The number one test team in the official rankings, Virat Kohli-led India will play three tests, five one-dayers and one Twenty20 International against their neighbours.
Colombo will host the second test from Aug. 3, while Kandy is the venue for the third match nine days later, the SLC said.
Beginning on Aug. 20 at Dambulla, the teams will play five one-dayers before India wrap up their tour with the Sept. 6 Twenty20 match in Colombo.
India, currently in West Indies for a limited-overs series, remain without a coach after Anil Kumble stepped down last month citing a breakdown of relationship with Kohli.
India last toured Sri Lanka in 2015 when they won the three-test series 2-1.
July 26-30: 1st test, Galle
Aug 3-7 : 2nd test, Colombo
Aug 12-16 : 3rd test, Kandy
Aug 20 : 1st ODI, Dambulla
Aug 24 : 2nd ODI, Kandy
Aug 27 : 3rd ODI, Kandy
Aug 31 : 4th ODI, Colombo
Sept 3 : 5th ODI, Colombo
Sept 6 : Only T20I, Colombo