Hundreds of campaigners blocked access to the square as they carried placards reading “Protect people, not borders”, “#dontletthemdown” and “detention centres, shut them down”.
The campaigners began the march at the London Eye and travelled to the Houses of Parliament, before lying in the road at Parliament Square and placing a yellow flower in their hands.
Video footage of the protest show taxi drivers and other vehicles stopped in their tracks as hundreds of campaigners refused to move from the street.
Police officers can be seen trying to coax people from the road.
One protester, who only gave her name as Sophie, said: “I am here to get a chance in the policy of the treatment of refugees in this country.”
Migrants protest: police could be seen in video footage trying to coax people from the road (Picture: Corbis)
It comes after 900 people were killed after a boat capsized off the coast of Libya in the deadliest tragedy of its kind.
Placards: the campaigners marched from London Eye to Parliament Square
The captain of the boat has been charged with reckless multiple homicide. He also faces a charge of “favouring illegal immigration”, along with a Syrian member of the crew, police said.