The India cricket team toured Sri Lanka between July and September 2017 to play three Test matches, five One Day Internationals and a Twenty20 International match. Ahead of the Test series, the teams played a two-day warm-up match in Colombo. Dinesh Chandimal was appointed the new Test captain of Sri Lanka following Sri Lanka's ODI defeat to Zimbabwe earlier in the month. However, before the first Test, Chandimal contracted pneumonia, ruling him out of the match. Rangana Herath was later confirmed as captain of the side for the first Test. Chandimal returned to the squad as captain for the second Test. India won the Test series 3–0. It was India's first whitewashaway from home in a series of three Tests or more. It was also the first time they had won three Tests in an away series since beating New Zealand 3–1 in 1967–68. The second ODI of the series in Pallekele was Sri Lanka's 800th ODI match. India won the first three ODIs, therefore winning the series, and was their eighth consecutive ODI series win against Sri Lanka. This defeat, along with previous defeats against Zimbabwe and Bangladesh, prompted the Sri Lanka selection committee to resign. India went on to win the ODI series 5–0 and was the first time Sri Lanka had suffered a whitewash at home in ODIs. India won the one-off T20I match by 7 wickets, thus completing a 9-0 clean sweep against Sri Lanka in all three formats of international cricket in a bilateral series.
Squads
was ruled out of India's Test squad before the series began with a wrist injury and was replaced by Shikhar Dhawan. Asela Gunaratne fractured his thumb on the first morning of the first Test and was ruled out of Sri Lanka's squad for the remaining matches. Lahiru Thirimanne and Lakshan Sandakan were added to Sri Lanka's squad for the second Test. India's Ravindra Jadeja was suspended for the third Test after throwing the ball "in a dangerous manner" during the second match, therefore accumulating enough demerit points to get a suspension. Axar Patel was added to the squad as his replacement. Sri Lanka's Rangana Herath was rested for the third Test at Pallekele after pulling up from the second Test with a stiff back. For the third Test, Dushmantha Chameera and Lahiru Gamage were added to Sri Lanka's squad, while Danushka Gunathilaka was dropped. For the ODI series, Dinesh Chandimal and Lahiru Thirimanne were added to Sri Lanka's squad ahead of the third match. They were added as cover for Danushka Gunathilaka and Upul Tharanga. Tharanga was suspended for the third and fourth ODIs, for a slow over-rate in the second match. Chamara Kapugedera captained the side for the third ODI, but sustained a back injury and was ruled of the remaining matches. Lasith Malinga was given the captaincy for the fourth ODI. In the third ODI, Dinesh Chandimal suffered a hairline fracture to his right thumb and was ruled out of the rest of the series. Dilshan Munaweera was added to Sri Lanka's squad ahead of the fourth ODI.