Some 160,000 people have demonstrated in Barcelona to demand the government allow more refugees into Spain from war-hit areas such as Syria.
Marchers carrying placards and banners- many in the Catalan language - accused the Madrid government of dragging its feet over the issue.
They say it has not honoured its pledge made in 2015 to allow more than 17,000 refugees into Spain within two years.
Over that time, Spain has accepted only about 1,100 refugees.
Police gave the estimate of the turnout at Saturday's protest in the capital of Catalonia, organised by the Our Home is Your Home group, with many denouncing the government for not living up to its promises.
Protest organisers quoted by local media said that as many as 300,000 people took part.
The route took them from the Barcelona city centre to the Mediterranean coast - an end-point seen as highly symbolic given the fact that about 5,000 refugees are estimated to have perished in the sea in 2016.
One 62-year-old protester marching alongside his friends and family told the AFP news agency that the demonstration was triggered by the government's lacklustre response to the refugee crisis.
"We demand this minimum amount of dignity - that at least this number of refugees can come," Jacint Comelles said.
"In Catalonia, everything is ready to welcome them."
Barcelona Mayor Ada Colau participated in the march. She has been at the forefront of the campaign to lobby the Spanish government into accepting more refugees.
Spain is in many respects similar to other EU countries who have fallen below target when it comes to accepting refugees.
Germany however is a noticeable exception, allowing 890,000 asylum-seekers into the country in 2015 and another 280,000 the year after that.