The families of the hostages led the demonstration on Thursday, stressing they were sending a message of peace, and refused to allow the march to become politicised.
Police estimated the turnout at about 3000.
The crowd carried a huge rainbow coloured flag, the international symbol of the anti-Iraq war movement, but remained silent throughout the march.
The three security guards should be freed "in the name of the one God who will judge us all", the pope said in a message read out by his foreign minister, Archbishop Giovanni Lajolo, in Saint Peter's Square.
Lajolo said the head of the Roman Catholic Church was praying for the hostages in his private chapel.
At the end of the march, the Vatican allowed a small number of people onto the square to express their views, though police stopped a group carrying a banner demanding the immediate withdrawal of the 3000 Italian troops from Iraq.
Arrangements for the march were made before Italy's main unions refused on Tuesday to yield to demands by the kidnappers that the traditional 1 May labour marches be turned into protests against the presence of Italian troops in the US-led occupation force in Iraq.
The kidnappers, who have already murdered one of four men they seized on 12 April, Fabrizio Quattrocchi, have threatened to kill the others if the demand is not met.
Italy has about 3,000 troops in the US-led occupation force in Iraq and Prime Minister Silvio Berlusconi has said they will remain there despite the kidnappings.