The international human rights watchdog cited one of Spain's key reception centres for undocumented immigrants, in the Spanish territory of Melilla which borders Morocco.
That centre is designed for 480 residents but Amnesty said it houses some 1,900, including 400 minors.
Of that total, 1,500 are refugees who have fled the civil war in Syria, it said. Many others come from sub-Saharan Africa.
About 600 Syrians who had been granted asylum in Spain were waiting to be transferred to mainland Spain, Amnesty added.
It said Spain had so far failed in its commitments to permanently resettle them on its territory.
Out of the millions of refugees who have fled the fighting in Syria, it said Spain had only permanently resettled 130 in 2013 and 2014 and planned for another 130 in 2015.
"Spain can and must do better, not only by setting up a decent resettlement programme but also by increasing the numbers," said Virginia Alvarez, a spokeswoman for Amnesty in Spain.
Amnesty said the immigrants had difficulty applying for asylum and suffered poor living conditions in the Melilla centre.
When it visited the Melilla centre in October, it said residents were sleeping in crammed dormitories without bedsheets, or in tents, and had to form long queues for showers and meals, it said.
Spanish government officials in Melilla said that since Amnesty's visit, a new office for processing asylum claims had been opened.
More than three million Syrians have fled their country in the past four years of civil war, most of them to neighbouring countries such as Turkey and Lebanon.
Amnesty said in December that only about 1.7 percent of them had been resettled in rich countries.