Prime Minister Justin Trudeau will offer a full apology in the House of Commons next month for a decision by the government in 1914 to turn away a ship carrying hundreds of South Asian immigrants.

The apology for the Komagata Maru incident will be delivered on May 18, nearly 102 years after the ship from Hong Kong arrived off Vancouver only to have almost all of its 376 passengers — nearly all Sikhs — denied entry due to the immigration laws at the time.

The ship was eventually sent to Calcutta and least 19 people were killed in an ensuing skirmish with British soldiers, while others were jailed.

"We failed them utterly," Trudeau told a packed room Monday on Parliament Hill at a celebration marking the Sikh holiday of Vaisakhi.

"As a nation we should never forget the prejudice suffered by the Sikh community at the hands of the Canadian government of the day. We should not, we will not."

Former prime minister Stephen Harper apologized for the incident in 2008 at an event in British Columbia, but members of Canada's Sikh community have long said an apology should be offered formally in Parliament.

The Liberals have been calling since 2008 for an apology in the Commons and Trudeau repeated that pledge during the election campaign.

Trudeau said Monday while an apology will not ease the pain and suffering of those who lived through the experience, it is the right thing to do and the House of Commons the right place for it to be delivered.

"It was in the House of Commons that the law that prevented the passengers from disembarking were first passed and so it is fitting that the government should apologize there on behalf of all Canadians."

There are 17 Sikh members of Parliament, including Defence Minister Harjit Sajjan.

Prior to being elected, Sajjan was the commanding officer of the B.C. military regiment Duke of Connaught's Own, which over a century ago had been involved in the government's efforts to turn back the ship.