They are angered by what they see as betrayal by socialist Prime Minister Pedro Sanchez, who promised amnesty to violent Catalan separatists in exchange for their support of his rule.
On Thursday, Sanchez gained the deal with the separatist party Junts. The key component of that deal for the separatists was amnesty for those who launched the effort to secede from Spain in 2017. Protesters said that this evidenced Sanchez putting his ambition for power ahead of the good of the nation, per Reuters.
Santiago Abascal, leader of the nationalist Vox party, has vowed to lower income taxes, cut public spending, cut down on corruption, give tax breaks to large families, deport illegal immigrants, secure the border with a blockade of ships to prevent them from coming in, close mosques that promote radical Islam or Jihad, and turn back some of the liberal social policies on abortion, trans, and climate change. His name was up for election on July 23, though he did not win.
Santiago spoke in Madrid during the protests.
Alberto Nunez of the People's Party, a conservative party, said "We will not shut up until there are new elections!" The crowd in Madrid's Puerta del Sol square cheered at his words.
Madrid alone saw 80,000 people, per the authorities, though the People's Party claimed nearly 1 million protest participants.
In Barcelona, officials said 6,000 people were out shouting against Sanchez, while Grenada saw 30,000, Seville, 50,000.
Malaga, Valencia, Bilbao, Coruña, Zaragoza, Pamplona, Salamanca, all saw massive protests out in the streets.
Protests have been coming for the past week, with some declaring that Spain is a Christian, and not Muslim country.
Sanchez's Socialist Party was engaged in weeks of negotiations with smaller parties after the election on July 23, which did not leave them with a majority government. It was the support of the Junts, as well as the Basque Nationalist Party that would push Sanchez into a majority in the 350-seat lower house. That body is yet to vote.