Although India have crossed the border to Bangladesh, the Tigers have never played a five-day match on Indian soil since they gained Test status in 2000, mainly because of scheduling clashes.
Bangladesh have featured in two limited-overs tournaments in India — the Champions Trophy qualifiers in 2006 and the World Twenty20 this year.
Board of Control for Cricket in India (BCCI) president Anurag Thakur called the upcoming match an historic occasion and a “great addition” to India’s home season.
“As a leading Test-playing nation it is BCCI’s responsibility to give opportunity to every Test-playing nation,” he said in a statement.
India are currently second in the International Cricket Council Test rankings while Bangladesh are ninth.
Bangladesh Cricket Board chief Nazmul Hassan said the match would be a memorable experience for players and fans of both countries.
“The long wait for us to play a Test match on Indian soil is finally over and this is a time for celebration,” he said in the same statement.
The one-off match will be played in the southern city of Hyderabad from February 8 to 12.
India have won six of their eight Tests against Bangladesh, while two have ended in draws.
India have a crowded 2016-17 home season with the hosts set to play as many as 13 Tests against top sides including Australia and England.