“I bow to those martyrs who were killed mercilessly in Jallianwala Bagh on this day. We will never forget their courage and sacrifice,” he wrote on Twitter.
Their valour will inspire Indians for the years to come, the prime minister said.
Troops on the orders of Brigadier Gen Reginald Dyer had opened fire on a large group of people who had gathered at Jallianwala Bagh, Amritsar to celebrate Baisakhi, the harvest festival.
At least 400 people were killed and a thousand were injured.