The first Test, which was originally scheduled to be held in Galle, will now be played at the Sinhalese sports club in Colombo, SLC said in a release.
Galle will hold the second Test, while the third will be played at the Premadasa stadium in the Sri Lankan capital.
Cricket officials said the change was necessary because the dates clashed with the annual summit of the South Asian Association for Regional Cooperation.
"All hotels in Colombo are booked from July 27 to August 4 because of the meetings and we can't find accommodation for the teams," SLC secretary K. Mathivanan said Wednesday.
India will also play five one-day internationals against the hosts after the Test series.
Revised schedule of India's tour:
July 18-20: Three-day warm-up match, Colombo
July 23-27 : First Test at the Sinhalese sports club, Colombo
July 31-Aug 4: Second Test, Galle
Aug 8-12 : Third Test, Premadasa stadium, Colombo
Aug 15 : One-day warm-up match, Colombo
Aug 18 : First one-dayer, Dambulla
Aug 20 : Second one-dayer, Dambulla
Aug 24 : Third one-dayer, Premadasa stadium, Colombo
Aug 26 : Fourth one-dayer, Premadasa stadium, Colombo
Aug 29 : Fifth one-dayer, Premadasa stadium, Colombo