According to Delhi government sources, the prime minister sent the letter to Kejriwal and prayed for his good health and happiness.
"Kindly accept my heartiest best wishes on your birthday. May god grant you good health and happiness and you continue to serve the common people of the country for many years to come with same goodwill as now," Modi said in the letter.
The Aam Aadmi Party (AAP) convenor, who turned 51 on Friday, responded by thanking the prime minister.
"Thank u so much PM sir for ur good wishes," he tweeted.
Birthday greetings to Delhi CM Shri @ArvindKejriwal. Praying for his good health and long life.— Narendra Modi (@narendramodi) August 16, 2019
Kejriwal had been a vocal critic of Modi and had lashed out at him on several occasions during his first term as the prime minister.
However, the chief minister has not publicly attacked Modi since the BJP formed the government for a second term.
In June this year, Kejriwal had met the prime minister and sought the Centre's support in executing the Delhi government's plant to store Yamuna water during rainy season.
Days after this meeting, the central government gave its nod to the AAP government's ambitious proposal to conserve water in floodplains of the Yamuna.
"Assured full cooperation of Del govt. To develop Delhi, capital city of India, it is imp that Del govt n Centre work together (sic)," Kejriwal had tweeted after the meeting.