The first Test is to be played from February 25 in Bangalore and the second Test will commence from March 5 at Mohali.
Meanwhile, the first T20 match will be played on March 13 at Mohali while the second and third T20 matches will be played on March 15 and 18 at Dharamshala and Lucknow respectively.
Sri Lanka last toured India for a Test series in 2017 and India won the three-match series 1-0.
The first Test in Kolkata and the third in Delhi ended in a draw while India won the second Test by an innings and 239 runs in Nagpur.
Both countries have played 44 Test matches so far, with India winning 20 and Sri Lanka winning seven with 17 matches ending in a draw.
The two countries played a T20 Tournament in India in 2020, where one match ended in no-decision and the other two were won by India.
However, Sri Lanka won the recent T20 home series 2-1.
The two countries so far, have played 19 T20 matches and India have won 13 while the Lankans have won five.