Tens of thousands are in central Madrid for a protest by centre-right parties opposed to a Spanish government plan to ease tension in the Catalonia region.
The Popular Party (PP) and Ciudadanos (Citizens) called the protest after PM Pedro Sánchez offered the separatists the chance of a round table for talks.
The right considers the offer a betrayal and surrender. The separatists have rejected the offer anyway.
Like the right, the ruling Socialists also oppose Catalan independence.
Far-right groups including the Vox party are also present at the protest, held under the slogan “For a united Spain. Elections now!”
Protesters filled the Spanish capital’s Colon Square and nearby streets, many of them chanting “long live Spain” or singing along to taped music, including songs by Tom Jones and Lady Gaga.
Police put the total number of demonstrators at 45,000.
One protester, Mabel Campuzano, told Reuters news agency that Mr Sánchez was “betraying Spain and we think that Spaniards don’t deserve him as the president of the government”.
In a speech to the crowds, PP leader Pablo Casado denounced Mr Sánchez’s policies as “Socialist surrender” and “deals under the table”, Efe news agency reported.
“Sánchez’s time is over,” Mr Casado said, adding that the protests were a turning point and the beginning of a return to “harmony and legality” in Spain.
Speaking shortly afterwards at a local election campaign meeting, Mr Sánchez said the only way to find a solution to the Catalan crisis was through dialogue.
Catalan nationalists regained power in Barcelona in May, after a seven-month period of direct rule by Madrid.
Tensions remain high, as many Catalans resent Madrid’s show of force last year, when it charged pro-independence leaders with sedition.
Mr Sánchez heads a minority government that depends on nationalists – including Catalans – to stay in power, but he has ruled out any new Catalan referendum on independence.