The Archbishop of Canterbury said he was praying for healing and forgiveness as Britain and India marked 100 years since the Amritsar massacre on Saturday.
The massacre, known in India as Jallianwala Bagh, happened on the afternoon of April 13, 1919, when British colonial forces opened fire on unarmed Indians attending a pro-independence rally in the north-western city of Amritsar.
The attack, which killed over 300 people and injured another 1,200, strengthened support for independence from British rule.
Archbishop Justin Welby noted that victims came from across the faith spectrum, with Sikhs, Hindus, Muslims and Christians among the fallen.
He said the centenary was a day for reflection, lament and prayer as he said Britain needed to confront the atrocity.
"As British people we can't avoid this shameful part of our colonial legacy," he said.
"As a Christian leader, today is a day for reflection; a day for lament; and a day to pray for the healing power of forgiveness that communities of faith, around the world, might learn from the past and move to a future where all are able to flourish."
Britain has never formally apologised for the massacre, despite pressure from India to do so.
British High Commissioner to India Dominic Asquith attended a wreath laying ceremony in Amritsar on Saturday to mark the centenary.
Paying tribute at the city's Jallianwala Bagh memorial, he said "the revulsion that we felt at the time is still strong today" but said that history could not be re-written.
"It tarnished the reputation and we regret, as I say, the suffering and we'll continue to do so," he said.
"The suffering caused...You might want to rewrite history, as the Queen said. But you can't."
Prime Minister Theresa May expressed "regret" over the massacre and described it as a "shameful scar" on Britain's history in India, but stopped short of a formal apology.