Prince William has spoken movingly about the sacrifices of Allied soldiers in one of the bloodiest battles of the First World War.

He joined the King of Belgium in laying wreaths at the Menin Gate to mark the centenary of the Third Battle of Ypres, later to be known as Passchendaele, in which some 320,000 Allies perished in fighting that raged between 31 July and 6 November 1917.

During the campaign, British troops tried to push back the Germans from a ridge near Ypres but only managed to make marginal gains. The Menin Gate has on it the names of the 54,391 British dead with no known grave. Some 220,000 Germans also died.

During the service, attended by 200 descendents of those who fought, Prince William said: "Members of our families; our regiments; our nations; all sacrificed everything for the lives we live today.

"During the First World War Britain and Belgium stood shoulder to shoulder. One hundred years on, we still stand together, gathering as so many do every night, in remembrance of that sacrifice."

Prince William
Prince William, the Duke of Cambridge, attends the Last Post ceremony at the Menin Gate to mark the centenary of Passchendaele, The Third Battle of Ypres, in Ypres, Belgium July 30, 2017. Reuters

King Philippe of Belgium said both countries will honour the soldiers' "immense sacrifice", the BBC reported.

Prince William attended the event with his wife, the Duchess of Cambridge, as did the British prime minister, Theresa May, and many other dignitaries.

The memorial included performances by the National Youth Choir of Scotland, and is set to end with the Last Post on a lone bugle, whose strains have been heard every evening since 1928.

Prince William
Britain's Prince William, the Duke of Cambridge and his wife Princess Kate, the Duchess of Cambridge make their way to the Last Post ceremony at the Menin Gate to mark the centenary of Passchendaele. Reuters