Foreign Minister Mangala Samaraweera, who visited India recently, made the invitation on behalf of ths Sri Lankan president.
During his visit which will take place from March 13 - 15, Modi is to attend several official functions, reports say.
Modi's visit will be the first state visit by an Indian PM since Rajiv Gandhi's trip in 1987.