# 2023 Spanish local elections

The 2023 Spanish local elections were held on Sunday, 28 May 2023, to elect all 66,976 councillors in the municipalities of Spain, all 1,191 provincial seats in 41 provinces (including 38 indirectly-elected provincial deputations and the three directly-elected Basque General Assemblies) and 233 seats in eleven island councils (seven Canarian island cabildos and four Balearic island councils, all directly-elected). The elections were held simultaneously with regional elections in twelve autonomous communities.
The elections took place following a period of instability dominated by the outbreak of the COVID-19 pandemic in March 2020 and its political and economical consequences, including the worst worldwide recession since the Great Depression resulting from the massive lockdowns enforced to reduce the spread of SARS-CoV-2, as well as the economic impact of the 2022 Russian invasion of Ukraine.
The People's Party (PP) emerged as the first political force and was able to flip the control of a large number of major cities, despite winning the popular vote to the ruling Spanish Socialist Workers' Party (PSOE) by just three percentage points. This outcome prompted Prime Minister Pedro Sánchez to call a snap general election for July, which led to an insufficient PP victory and to Sánchez's re-election.

## Electoral system
### Municipal elections

Municipalities in Spain were local corporations with independent legal personality. They had a governing body, the municipal council or corporation, composed of a mayor, deputy mayors and the elected plenary assembly. Voting for the local assemblies was on the basis of universal suffrage, which comprised all nationals over 18 years of age, registered and residing in the corresponding municipality and in full enjoyment of their political rights, as well as resident non-national European citizens and those whose country of origin allowed Spanish nationals to vote in their own elections by virtue of a treaty.
Local councillors were elected using the D'Hondt method and a closed list proportional representation, with an electoral threshold of five percent of valid votes—which included blank ballots—being applied in each local council. Councillors were allocated to municipal councils based on the following scale:
| Population | Councillors |
| <100 | 3 |
| 100–250 | 5 |
| 251–1,000 | 7 |
| 1,001–2,000 | 9 |
| 2,001–5,000 | 11 |
| 5,001–10,000 | 13 |
| 10,001–20,000 | 17 |
| 20,001–50,000 | 21 |
| 50,001–100,000 | 25 |
| >100,001 | +1 per each 100,000 inhabitants or fraction +1 if total is an even number |
Councillors of municipalities with populations below 250 inhabitants were elected under an open list partial block voting, with electors voting for individual candidates instead of parties: for up to four candidates in municipalities with populations between 100 and 250 inhabitants; and for up to two candidates in municipalities below 100. This did not apply to municipalities which, as a result of their geographical location or the convenience of a better management of municipal interests or other circumstances, made it advisable to be organized through the open council system (Spanish: régimen de concejo abierto), in which voters directly elected the local mayor.
The mayor was indirectly elected by the plenary assembly. A legal clause required that mayoral candidates earn the vote of an absolute majority of councillors, or else the candidate of the most-voted party in the assembly was to be automatically appointed to the post. In the event of a tie, a toss-up would determine the appointee.

### Deputations and island councils

Provincial deputations were the governing bodies of provinces in Spain, having an administration role of municipal activities and composed of a provincial president, an administrative body, and a plenary. Basque provinces had foral deputations instead—called General Assemblies (Spanish: Juntas Generales)—, whereas deputations for single-province autonomous communities were abolished and their functions transferred to the corresponding regional parliaments in 1982–1983. For insular provinces, such as the Balearic and Canary Islands, deputations were replaced by island councils in each of the islands or group of islands. For Majorca, Menorca, Ibiza and Formentera this figure was referred to in Spanish as consejo insular (Catalan: consell insular), whereas for Gran Canaria, Tenerife, Fuerteventura, La Gomera, El Hierro, Lanzarote and La Palma its name was cabildo insular.
Most deputations were indirectly elected by local councillors from municipalities in each judicial district. Seats were allocated to provincial deputations based on the following scale:
| Population | Seats |
| <500,000 | 25 |
| 500,001–1,000,000 | 27 |
| 1,000,001–3,500,000 | 31 |
| >3,500,001 | 51 |
Island councils and foral deputations were elected directly by electors under their own, specific electoral regulations.

### Election date

Elections to the local councils in Spain are fixed for the fourth Sunday of May every four years. In the event that no candidacy is presented in a local council, a by-election will be held in that council within six months; if that election still results in no candidacy being presented, a management committee will be formed by all continuing council members and designated citizens to fill any vacancies.
The 2023 local elections were called for 28 May 2023, with election re-runs being called for 26 November in those councils where no candidacy was presented and in those whose results were annulled by invalidating irregularities.

## Parties and candidates

The electoral law allowed for parties and federations registered in the interior ministry, coalitions and groupings of electors to present lists of candidates. Parties and federations intending to form a coalition ahead of an election were required to inform the relevant Electoral Commission within ten days of the election call, whereas groupings of electors needed to secure the signature of a determined amount of the electors registered in the municipality for which they sought election:
* At least one percent of the electors in municipalities with a population below 5,000 inhabitants, provided that the number of signers was more than double that of councillors at stake.
* At least 100 signatures in municipalities with a population between 5,001 and 10,000.
* At least 500 signatures in municipalities with a population between 10,001 and 50,000.
* At least 1,500 signatures in municipalities with a population between 50,001 and 150,000.
* At least 3,000 signatures in municipalities with a population between 150,001 and 300,000.
* At least 5,000 signatures in municipalities with a population between 300,001 and 1,000,000.
* At least 8,000 signatures in municipalities with a population over 1,000,001.
Electors were disallowed from signing for more than one list of candidates.

## Campaign
### Party slogans

| Party or alliance | Original slogan | English translation |
| PSOE | « Vota lo que piensas » | "Vote for what you think" |
| PP | « Entre todos » | "Between everyone" |
| Cs | « Libérate » | "Free yourself" |
| Unidas Podemos | « Valentía para transformar » | "Courage to transform" |
| Vox | « Vota seguro » | "Vote safely" |

### Alleged vote-buying

During the month of May 2023, amidst the local elections campaign in Spain, numerous instances of vote-buying came to light in various municipalities across the country. These incidents implicated a wide range of political parties, including among others the Spanish Socialist Workers' Party (PSOE), the People's Party (PP) and Coalition for Melilla (CpM). Despite the scandal starting in Melilla, it later expanded to other municipalities in the south of Spain.

## Timetable

The key dates are listed below (all times are CET. The Canary Islands use WET (UTC+0) instead):
* 3 April: The election decree is issued with the countersign of the Prime Minister, ratified by the King.
* 4 April: Publication of the election decree in the Official State Gazette (BOE) and beginning of a suspension period of events for the inauguration of public works, services or projects.
* 7 April: Initial constitution of provincial and zone electoral commissions.
* 14 April: Deadline for parties and federations intending to enter into a coalition to inform the relevant electoral commission.
* 24 April: Deadline for parties, federations, coalitions, and groupings of electors to present lists of candidates to the relevant electoral commission.
* 26 April: Submitted lists of candidates are provisionally published in the BOE.
* 29 April: Deadline for citizens entered in the Register of Absent Electors Residing Abroad (CERA) and for citizens temporarily absent from Spain to apply for voting.
* 30 April: Deadline for parties, federations, coalitions, and groupings of electors to rectify irregularities in their lists.
* 1 May: Official proclamation of valid submitted lists of candidates.
* 2 May: Proclaimed lists are published in the BOE.
* 12 May: Official start of electoral campaigning.
* 18 May: Deadline to apply for postal voting.
* 23 May: Official start of legal ban on electoral opinion polling publication, dissemination or reproduction and deadline for CERA citizens to vote by mail.
* 24 May: Deadline for postal and temporarily absent voters to issue their votes.
* 26 May: Last day of official electoral campaigning and deadline for CERA citizens to vote in a ballot box in the relevant consular office or division.
* 27 May: Official 24-hour ban on political campaigning prior to the general election (reflection day).
* 28 May: Polling day (polling stations open at 9 am and close at 8 pm or once voters present in a queue at/outside the polling station at 8 pm have cast their vote). Provisional counting of votes starts immediately.

## Results
### Overall

← Summary of the 28 May 2023 local election results in Spain :
| Parties and alliances | Parties and alliances | Popular vote | Popular vote | Popular vote | Councillors | Councillors | Provincial seats | Provincial seats | Provincial seats | Provincial seats |
| Parties and alliances | Parties and alliances | Votes | % | ±pp | Total | +/− | P. dep | O. dep | T. dep | +/− |
| | People's Party (PP) | 7,077,604 | 31.62 | +8.96 | 23,451 | +3,069 | 445 | 82 | 527 | +110 |
| | Spanish Socialist Workers' Party (PSOE) | 6,298,423 | 28.14 | –1.28 | 20,805 | –1,572 | 406 | 86 | 492 | –56 |
| | Vox (Vox) | 1,605,961 | 7.18 | +3.48 | 1,671 | +1,124 | 35 | 14 | 49 | +36 |
| | United We Can (Unidas Podemos) | 1,406,170 | 6.28 | –2.48 | 1,938 | –721 | 22 | 9 | 31 | –39 |
| | United We Can (Podemos–IU–AV) | 743,143 | 3.32 | –0.11 | 969 | –117 | 9 | 8 | 17 | –21 |
| | United Left (IU) | 309,846 | 1.38 | –0.93 | 697 | –352 | 8 | 1 | 9 | –7 |
| | In Common We Can–Confluence (ECP–C) | 270,390 | 1.21 | –0.27 | 250 | –20 | 5 | — | 5 | –1 |
| | We Can (Podemos) | 82,791 | 0.37 | –1.17 | 22 | –232 | 0 | 0 | 0 | –10 |
| | Together for Catalonia–Municipal Commitment (CM)$^1$ | 553,872 | 2.47 | +0.02 | 2,687 | –117 | 40 | — | 40 | +5 |
| | Republican Left of Catalonia–Municipal Agreement (ERC–AM) | 526,242 | 2.35 | –1.29 | 2,906 | –219 | 36 | — | 36 | –11 |
| | More Country–Greens Equo (MP–VQ) | 452,511 | 2.02 | –0.50 | 89 | +48 | 0 | 0 | 0 | ±0 |
| | More Country–Greens Equo (MM/MR–VQ) | 430,955 | 1.93 | –0.54 | 79 | +44 | — | — | 0 | ±0 |
| | Drago Greens Canaries (DVC) | 13,717 | 0.06 | New | 2 | +2 | — | 0 | 0 | ±0 |
| | Greens Equo (VQ) | 7,839 | 0.04 | –0.01 | 8 | +2 | 0 | 0 | 0 | ±0 |
| | Basque Country Gather (EH Bildu) | 366,113 | 1.64 | +0.11 | 1,398 | +135 | — | 51 | 51 | +12 |
| | Commitment Coalition: Agreement to Win (Compromís) | 332,371 | 1.49 | –0.03 | 673 | –61 | 6 | — | 6 | –2 |
| | Citizens–Party of the Citizenry (CS) | 323,934 | 1.45 | –7.72 | 591 | –2,202 | 0 | 0 | 0 | –61 |
| | Basque Nationalist Party (EAJ/PNV) | 323,274 | 1.44 | –0.35 | 988 | –77 | — | 55 | 55 | –7 |
| | Galician Nationalist Bloc (BNG) | 249,078 | 1.11 | +0.26 | 591 | +135 | 16 | — | 16 | +5 |
| | Canarian Coalition (CCa) | 172,056 | 0.77 | –0.01 | 308 | +2 | — | 41 | 41 | +3 |
| | Popular Unity Candidacy–Municipalist Alternative (CUP–AMunt) | 134,753 | 0.60 | –0.18 | 315 | –21 | 2 | — | 2 | +1 |
| | Navarrese People's Union (UPN)$^2$ | 82,037 | 0.37 | –0.09 | 250 | –48 | — | — | 0 | ±0 |
| | New Canaries–Canarist Broad Front (NC–FAC) | 75,098 | 0.34 | ±0.00 | 118 | +13 | — | 13 | 13 | +2 |
| | Regionalist Party of Cantabria (PRC) | 60,093 | 0.27 | –0.09 | 298 | –53 | — | — | 0 | ±0 |
| | Andalusia by Herself–Andalusian Unity (AxSí–UA) | 59,707 | 0.27 | +0.05 | 119 | +13 | 0 | — | 0 | –1 |
| | Now Local Agreement (Ara PL) | 55,276 | 0.25 | New | 186 | +186 | 1 | — | 1 | +1 |
| | Animalist Party with the Environment (PACMA) | 52,557 | 0.23 | +0.03 | 0 | ±0 | 0 | 0 | 0 | ±0 |
| | Asturias Forum (Foro) | 51,291 | 0.23 | +0.10 | 38 | –11 | — | — | 0 | ±0 |
| | More for Mallorca (Més) | 46,008 | 0.21 | +0.01 | 116 | –4 | — | 4 | 4 | ±0 |
| | Forward Andalusia (Adelante Andalucía) | 44,610 | 0.20 | New | 9 | +9 | 0 | — | 0 | ±0 |
| | Leonese People's Union (UPL) | 36,750 | 0.16 | +0.07 | 234 | +83 | 4 | — | 4 | +3 |
| | Empty Spain (España Vaciada) | 35,991 | 0.16 | +0.12 | 262 | +219 | 4 | — | 4 | +4 |
| | Aragon Exists–Exists Coalition (Existe) | 20,072 | 0.09 | New | 157 | +157 | 4 | — | 4 | +4 |
| | Empty Spain (España Vaciada) | 9,622 | 0.04 | New | 89 | +89 | 0 | — | 0 | ±0 |
| | Riojan Party+Empty Spain (PR+EV) | 6,297 | 0.03 | –0.01 | 16 | –27 | — | — | 0 | ±0 |
| | Brave (Valents) | 32,519 | 0.15 | New | 3 | +3 | 0 | — | 0 | ±0 |
| | Aragonese Union (CHA) | 30,185 | 0.13 | –0.01 | 133 | +0.15 | 1 | — | 1 | +1 |
| | All for Terrassa (TxT) | 26,732 | 0.12 | ±0.00 | 11 | +1 | 1 | — | 1 | ±0 |
| | Citizens' Movement of Cartagena (MCC) | 23,947 | 0.11 | ±0.00 | 8 | ±0 | — | — | 0 | ±0 |
| | El Pi–Proposal for the Isles (El Pi) | 20,533 | 0.09 | –0.05 | 67 | –32 | — | 2 | 2 | –1 |
| | Neighbors' Alternative (AV) | 20,182 | 0.09 | ±0.00 | 32 | +4 | 1 | — | 1 | ±0 |
| | Aragonese Party (PAR) | 20,146 | 0.09 | –0.10 | 338 | –323 | 2 | — | 2 | –6 |
| | Union of Independent Citizens (UCIN) | 19,997 | 0.09 | +0.01 | 66 | –7 | 0 | — | 0 | ±0 |
| | Ourensan Democracy (DO) | 19,349 | 0.09 | +0.03 | 11 | +2 | 3 | — | 3 | +1 |
| | Yes to the Future (GBai) | 19,261 | 0.09 | ±0.00 | 44 | –6 | — | — | 0 | ±0 |
| | For Ávila (XAV) | 17,443 | 0.08 | +0.01 | 142 | +62 | 5 | — | 5 | +1 |
| | La Línea 100x100 (LL100x100) | 17,238 | 0.08 | +0.01 | 22 | +1 | 2 | — | 2 | ±0 |
| | United for Gran Canaria (UxGC) | 15,850 | 0.07 | New | 11 | +11 | — | 0 | 0 | ±0 |
| | Blank Seats to Leave Empty Seats (EB) | 15,757 | 0.07 | +0.06 | 0 | –2 | 0 | 0 | 0 | ±0 |
| | With You, We Are Democracy (Contigo) | 13,561 | 0.06 | –0.04 | 19 | –1 | 0 | 0 | 0 | ±0 |
| | All for Empordà (Txl'E) | 12,799 | 0.06 | +0.03 | 79 | +45 | 1 | 0 | 1 | ±0 |
| | It Unites Us (Ens Uneix)$^3$ | 11,971 | 0.05 | –0.01 | 38 | +10 | 1 | 0 | 1 | ±0 |
| | Union for Leganés (ULEG) | 11,408 | 0.05 | –0.01 | 3 | –1 | — | — | 0 | ±0 |
| | For My Town (PMP) | 11,182 | 0.05 | +0.01 | 37 | +14 | 0 | — | 0 | ±0 |
| | Citizens for Canarian Change (CIUCA) | 10,223 | 0.05 | +0.01 | 7 | –6 | — | 0 | 0 | ±0 |
| | Independents of La Selva (IdSelva) | 8,091 | 0.04 | ±0.00 | 50 | +2 | 1 | 0 | 1 | ±0 |
| | More for Menorca (MxMe) | 7,978 | 0.04 | ±0.00 | 24 | –4 | — | 2 | 2 | –1 |
| | Zamora Yes (ZSí) | 7,731 | 0.03 | New | 100 | +100 | 1 | — | 1 | +1 |
| | Gomera Socialist Group (ASG) | 5,736 | 0.03 | +0.01 | 36 | +2 | — | 11 | 11 | ±0 |
| | Let's Go Palencia (VP) | 4,177 | 0.02 | New | 3 | +3 | 1 | — | 1 | +1 |
| | Feel Aranda (Sentir Aranda) | 4,118 | 0.02 | New | 6 | +6 | 1 | — | 1 | +1 |
| | Municipal Assemblies of Fuerteventura (AMF) | 3,159 | 0.01 | ±0.00 | 6 | +2 | — | 2 | 2 | +2 |
| | Yes We Can (SSP) | 2,564 | 0.01 | –0.04 | 8 | –12 | — | 0 | 0 | –2 |
| | Cuenca Unites Us (CNU) | 2,244 | 0.01 | –0.02 | 2 | –4 | 0 | — | 0 | –1 |
| | Independent Herrenian Group (AHI) | 1,647 | 0.01 | ±0.00 | 9 | +3 | — | 4 | 4 | +1 |
| | Initiative for La Gomera (IxLG) | 1,571 | 0.01 | New | 7 | +7 | — | 2 | 2 | +2 |
| | Herrenian Assembly (AH) | 1,524 | 0.01 | New | 8 | +8 | — | 3 | 3 | –1 |
| | People for Formentera (GxF) | 1,030 | 0.00 | –0.01 | 5 | –1 | — | 5 | 5 | –1 |
| | Sorian People's Platform (PPSO) | n/a | n/a | –0.02 | 0 | –78 | — | — | 0 | –3 |
| | Others | 1,230,088 | 5.50 | — | 5,623 | — | 0 | 0 | 0 | — |
| Blank ballots | Blank ballots | 307,220 | 1.37 | +0.43 | | | | | | |
| Total | Total | 22,380,941 | | | 66,976 | ±0 | 1,038 | 386 | 1,424 | ±0 |
| Valid votes | Valid votes | 22,380,941 | 98.53 | –0.55 | | | | | | |
| Invalid votes | Invalid votes | 333,135 | 1.47 | +0.55 | | | | | | |
| Votes cast / turnout | Votes cast / turnout | 22,714,076 | 63.92 | –1.27 | | | | | | |
| Abstentions | Abstentions | 12,822,069 | 36.08 | +1.27 | | | | | | |
| Registered voters | Registered voters | 35,534,425 | | | | | | | | |
| Sources |||||||||||
| Footnotes: $^1$ Together for Catalonia–Municipal Commitment results are compared to Together totals in the 2019 election.$^2$ Navarrese People's Union results are compared to Sum Navarre totals in the 2019 election.$^3$ It Unites Us results are compared to Vall d'Albaida Unites Us totals in the 2019 election. |||||||||||
Popular vote
PP
31.62%
PSOE
28.14%
Vox
7.18%
Unidas Podemos
6.28%
CM
2.47%
ERC–AM
2.35%
MP–VQ
2.02%
EH Bildu
1.64%
Compromís
1.49%
CS
1.45%
EAJ/PNV
1.44%
BNG
1.11%
CCa
0.77%
CUP–AMunt
0.60%
Others
10.06%
Blank ballots
1.37% :

### City control

The following table lists party control in provincial capitals, as well as in municipalities with a population above or around 75,000. Gains for a party are highlighted in that party's colour.
| Municipality | Population | Previous control | New control |
| A Coruña | 244,700 | Spanish Socialist Workers' Party (PSOE) | Spanish Socialist Workers' Party (PSOE) |
| Albacete | 172,357 | Spanish Socialist Workers' Party (PSOE) | People's Party (PP) |
| Alcalá de Guadaíra | 75,917 | Spanish Socialist Workers' Party (PSOE) | Spanish Socialist Workers' Party (PSOE) |
| Alcalá de Henares | 196,888 | Spanish Socialist Workers' Party (PSOE) | People's Party (PP) |
| Alcobendas | 117,041 | Spanish Socialist Workers' Party (PSOE) | People's Party (PP) |
| Alcorcón | 170,296 | Spanish Socialist Workers' Party (PSOE) | Spanish Socialist Workers' Party (PSOE) |
| Algeciras | 122,368 | People's Party (PP) | People's Party (PP) |
| Alicante | 338,577 | People's Party (PP) | People's Party (PP) |
| Almería | 199,237 | People's Party (PP) | People's Party (PP) |
| Arona | 82,982 | Spanish Socialist Workers' Party (PSOE) | People's Party (PP) |
| Ávila | 57,730 | For Ávila (XAV) | For Ávila (XAV) |
| Avilés | 75,877 | Spanish Socialist Workers' Party (PSOE) | Spanish Socialist Workers' Party (PSOE) |
| Badajoz | 150,146 | Citizens–Party of the Citizenry (CS) | People's Party (PP) |
| Badalona | 223,506 | Socialists' Party of Catalonia (PSC–PSOE) | People's Party (PP) |
| Barakaldo | 100,535 | Basque Nationalist Party (EAJ/PNV) | Basque Nationalist Party (EAJ/PNV) |
| Barcelona | 1,636,193 | Barcelona in Common (BComú) | Socialists' Party of Catalonia (PSC–PSOE) |
| Bilbao | 344,127 | Basque Nationalist Party (EAJ/PNV) | Basque Nationalist Party (EAJ/PNV) |
| Burgos | 173,483 | Spanish Socialist Workers' Party (PSOE) | People's Party (PP) |
| Cáceres | 95,456 | Spanish Socialist Workers' Party (PSOE) | People's Party (PP) |
| Cádiz | 113,066 | Forward Andalusia (Adelante) | People's Party (PP) |
| Cartagena | 216,961 | People's Party (PP) | People's Party (PP) |
| Castellón de la Plana | 171,857 | Spanish Socialist Workers' Party (PSOE) | People's Party (PP) |
| Ceuta | 83,117 | People's Party (PP) | People's Party (PP) |
| Chiclana de la Frontera | 87,493 | Spanish Socialist Workers' Party (PSOE) | Spanish Socialist Workers' Party (PSOE) |
| Ciudad Real | 74,850 | Citizens–Party of the Citizenry (CS) | People's Party (PP) |
| Córdoba | 319,515 | People's Party (PP) | People's Party (PP) |
| Cornellà de Llobregat | 89,039 | Socialists' Party of Catalonia (PSC–PSOE) | Socialists' Party of Catalonia (PSC–PSOE) |
| Coslada | 80,596 | Spanish Socialist Workers' Party (PSOE) | Spanish Socialist Workers' Party (PSOE) |
| Cuenca | 53,389 | Spanish Socialist Workers' Party (PSOE) | Spanish Socialist Workers' Party (PSOE) |
| Donostia-San Sebastián | 187,849 | Basque Nationalist Party (EAJ/PNV) | Basque Nationalist Party (EAJ/PNV) |
| Dos Hermanas | 137,561 | Spanish Socialist Workers' Party (PSOE) | Spanish Socialist Workers' Party (PSOE) |
| El Ejido | 87,500 | People's Party (PP) | People's Party (PP) |
| El Puerto de Santa María | 89,435 | People's Party (PP) | People's Party (PP) |
| Elche | 235,580 | Spanish Socialist Workers' Party (PSOE) | People's Party (PP) |
| Fuengirola | 83,226 | People's Party (PP) | People's Party (PP) |
| Fuenlabrada | 189,891 | Spanish Socialist Workers' Party (PSOE) | Spanish Socialist Workers' Party (PSOE) |
| Gandía | 75,911 | Spanish Socialist Workers' Party (PSOE) | Spanish Socialist Workers' Party (PSOE) |
| Getafe | 183,218 | Spanish Socialist Workers' Party (PSOE) | Spanish Socialist Workers' Party (PSOE) |
| Getxo | 76,365 | Basque Nationalist Party (EAJ/PNV) | Basque Nationalist Party (EAJ/PNV) |
| Gijón | 267,706 | Spanish Socialist Workers' Party (PSOE) | Asturias Forum (Foro) |
| Girona | 102,666 | Together for Catalonia (JxCat) | Popular Unity Candidacy (CUP) |
| Granada | 228,682 | Spanish Socialist Workers' Party (PSOE) | People's Party (PP) |
| Guadalajara | 87,452 | Spanish Socialist Workers' Party (PSOE) | People's Party (PP) |
| Huelva | 141,854 | Spanish Socialist Workers' Party (PSOE) | People's Party (PP) |
| Huesca | 53,305 | Spanish Socialist Workers' Party (PSOE) | People's Party (PP) |
| Jaén | 111,669 | Spanish Socialist Workers' Party (PSOE) | People's Party (PP) (PSOE in 2025) |
| Jerez de la Frontera | 212,730 | Spanish Socialist Workers' Party (PSOE) | People's Party (PP) |
| L'Hospitalet de Llobregat | 265,444 | Socialists' Party of Catalonia (PSC–PSOE) | Socialists' Party of Catalonia (PSC–PSOE) |
| Las Palmas de Gran Canaria | 378,797 | Spanish Socialist Workers' Party (PSOE) | Spanish Socialist Workers' Party (PSOE) |
| Las Rozas de Madrid | 95,725 | People's Party (PP) | People's Party (PP) |
| Leganés | 186,660 | Spanish Socialist Workers' Party (PSOE) | People's Party (PP) |
| León | 120,951 | Spanish Socialist Workers' Party (PSOE) | Spanish Socialist Workers' Party (PSOE) |
| Lleida | 140,797 | Republican Left of Catalonia (ERC) | Socialists' Party of Catalonia (PSC–PSOE) |
| Logroño | 150,020 | Spanish Socialist Workers' Party (PSOE) | People's Party (PP) |
| Lorca | 97,151 | Spanish Socialist Workers' Party (PSOE) | People's Party (PP) |
| Lugo | 97,211 | Spanish Socialist Workers' Party (PSOE) | Spanish Socialist Workers' Party (PSOE) |
| Madrid | 3,280,782 | People's Party (PP) | People's Party (PP) |
| Málaga | 579,076 | People's Party (PP) | People's Party (PP) |
| Manresa | 77,459 | Together for Catalonia (JxCat) | Republican Left of Catalonia (ERC) |
| Marbella | 150,725 | People's Party (PP) | People's Party (PP) |
| Mataró | 128,956 | Socialists' Party of Catalonia (PSC–PSOE) | Socialists' Party of Catalonia (PSC–PSOE) |
| Melilla | 85,170 | Independent (INDEP) | People's Party (PP) |
| Mijas | 89,502 | Spanish Socialist Workers' Party (PSOE) | Spanish Socialist Workers' Party (PSOE) (PP in 2023) |
| Móstoles | 208,761 | Spanish Socialist Workers' Party (PSOE) | People's Party (PP) |
| Murcia | 462,979 | Spanish Socialist Workers' Party (PSOE) | People's Party (PP) |
| Orihuela | 80,784 | Spanish Socialist Workers' Party (PSOE) | People's Party (PP) |
| Ourense | 103,756 | Ourensan Democracy (DO) | Ourensan Democracy (DO) |
| Oviedo | 215,167 | People's Party (PP) | People's Party (PP) |
| Palencia | 76,302 | Citizens–Party of the Citizenry (CS) | Spanish Socialist Workers' Party (PSOE) |
| Palma de Mallorca | 415,940 | Spanish Socialist Workers' Party (PSOE) | People's Party (PP) |
| Pamplona | 203,418 | Navarrese People's Union (UPN) | Navarrese People's Union (UPN) (EH Bildu in 2023) |
| Parla | 130,577 | Spanish Socialist Workers' Party (PSOE) | Spanish Socialist Workers' Party (PSOE) |
| Pontevedra | 82,828 | Galician Nationalist Bloc (BNG) | Galician Nationalist Bloc (BNG) |
| Pozuelo de Alarcón | 87,728 | People's Party (PP) | People's Party (PP) |
| Reus | 106,741 | Together for Catalonia (JxCat) | Socialists' Party of Catalonia (PSC–PSOE) |
| Rivas-Vaciamadrid | 96,690 | United Left (IU) | United Left (IU) |
| Roquetas de Mar | 102,881 | People's Party (PP) | People's Party (PP) |
| Rubí | 79,007 | Socialists' Party of Catalonia (PSC–PSOE) | Socialists' Party of Catalonia (PSC–PSOE) |
| Sabadell | 215,760 | Socialists' Party of Catalonia (PSC–PSOE) | Socialists' Party of Catalonia (PSC–PSOE) |
| Salamanca | 142,412 | People's Party (PP) | People's Party (PP) |
| San Cristóbal de La Laguna | 157,815 | Spanish Socialist Workers' Party (PSOE) | Spanish Socialist Workers' Party (PSOE) |
| San Fernando | 94,120 | Spanish Socialist Workers' Party (PSOE) | Spanish Socialist Workers' Party (PSOE) |
| San Sebastián de los Reyes | 91,083 | Spanish Socialist Workers' Party (PSOE) | People's Party (PP) |
| Sant Boi de Llobregat | 83,371 | Socialists' Party of Catalonia (PSC–PSOE) | Socialists' Party of Catalonia (PSC–PSOE) |
| Sant Cugat del Vallès | 95,725 | Republican Left of Catalonia (ERC) | Together for Catalonia (JxCat) |
| Santa Coloma de Gramenet | 117,981 | Socialists' Party of Catalonia (PSC–PSOE) | Socialists' Party of Catalonia (PSC–PSOE) |
| Santa Cruz de Tenerife | 208,688 | Canarian Coalition–Canarian Nationalist Party (CCa) | Canarian Coalition (CCa) |
| Santander | 171,693 | People's Party (PP) | People's Party (PP) |
| Santiago de Compostela | 98,179 | Spanish Socialist Workers' Party (PSOE) | Galician Nationalist Bloc (BNG) |
| Segovia | 50,802 | Spanish Socialist Workers' Party (PSOE) | People's Party (PP) |
| Seville | 681,998 | Spanish Socialist Workers' Party (PSOE) | People's Party (PP) |
| Soria | 39,450 | Spanish Socialist Workers' Party (PSOE) | Spanish Socialist Workers' Party (PSOE) |
| Talavera de la Reina | 83,247 | Spanish Socialist Workers' Party (PSOE) | People's Party (PP) |
| Tarragona | 134,883 | Republican Left of Catalonia (ERC) | Socialists' Party of Catalonia (PSC–PSOE) |
| Telde | 102,472 | New Canaries (NCa) | Citizens for Canarian Change (CIUCA) |
| Terrassa | 224,114 | All for Terrassa (TxT) | All for Terrassa (TxT) |
| Teruel | 35,900 | People's Party (PP) | People's Party (PP) |
| Toledo | 85,085 | Spanish Socialist Workers' Party (PSOE) | People's Party (PP) |
| Torrejón de Ardoz | 134,733 | People's Party (PP) | People's Party (PP) |
| Torrent | 85,142 | Spanish Socialist Workers' Party (PSOE) | People's Party (PP) |
| Torrevieja | 83,547 | People's Party (PP) | People's Party (PP) |
| Valencia | 792,492 | Commitment Coalition (Compromís) | People's Party (PP) |
| Valladolid | 295,639 | Spanish Socialist Workers' Party (PSOE) | People's Party (PP) |
| Vélez-Málaga | 83,899 | Spanish Socialist Workers' Party (PSOE) | People's Party (PP) |
| Vigo | 292,374 | Spanish Socialist Workers' Party (PSOE) | Spanish Socialist Workers' Party (PSOE) |
| Vitoria-Gasteiz | 253,672 | Basque Nationalist Party (EAJ/PNV) | Spanish Socialist Workers' Party (PSOE) |
| Zamora | 59,475 | United Left (IU) | United Left (IU) |
| Zaragoza | 673,010 | People's Party (PP) | People's Party (PP) |

### Deputation control

The following table lists party control in provincial deputations. Gains for a party are highlighted in that party's colour.
| Province | Population | Current control | New control |
| A Coruña | 1,119,180 | Spanish Socialist Workers' Party (PSOE) | Spanish Socialist Workers' Party (PSOE) |
| Albacete | 385,727 | Spanish Socialist Workers' Party (PSOE) | Spanish Socialist Workers' Party (PSOE) |
| Alicante | 1,901,594 | People's Party (PP) | People's Party (PP) |
| Almería | 740,534 | People's Party (PP) | People's Party (PP) |
| Ávila | 158,140 | People's Party (PP) | People's Party (PP) |
| Badajoz | 666,971 | Spanish Socialist Workers' Party (PSOE) | Spanish Socialist Workers' Party (PSOE) |
| Barcelona | 5,727,615 | Socialists' Party of Catalonia (PSC–PSOE) | Socialists' Party of Catalonia (PSC–PSOE) |
| Burgos | 355,045 | People's Party (PP) | People's Party (PP) |
| Cáceres | 387,805 | Spanish Socialist Workers' Party (PSOE) | Spanish Socialist Workers' Party (PSOE) |
| Cádiz | 1,246,781 | Spanish Socialist Workers' Party (PSOE) | People's Party (PP) |
| Castellón | 590,616 | Spanish Socialist Workers' Party (PSOE) | People's Party (PP) |
| Ciudad Real | 490,806 | Spanish Socialist Workers' Party (PSOE) | People's Party (PP) |
| Córdoba | 772,464 | Spanish Socialist Workers' Party (PSOE) | People's Party (PP) |
| Cuenca | 195,215 | Spanish Socialist Workers' Party (PSOE) | Spanish Socialist Workers' Party (PSOE) |
| Girona | 793,478 | Together for Catalonia (JxCat) | Together for Catalonia (JxCat) |
| Granada | 921,987 | Spanish Socialist Workers' Party (PSOE) | People's Party (PP) |
| Guadalajara | 268,127 | Spanish Socialist Workers' Party (PSOE) | Spanish Socialist Workers' Party (PSOE) |
| Huelva | 528,763 | Spanish Socialist Workers' Party (PSOE) | People's Party (PP) |
| Huesca | 225,456 | Spanish Socialist Workers' Party (PSOE) | People's Party (PP) |
| Jaén | 623,761 | Spanish Socialist Workers' Party (PSOE) | Spanish Socialist Workers' Party (PSOE) |
| León | 448,179 | Spanish Socialist Workers' Party (PSOE) | Spanish Socialist Workers' Party (PSOE) |
| Lleida | 441,443 | Republican Left of Catalonia (ERC) | Republican Left of Catalonia (ERC) |
| Lugo | 323,989 | Spanish Socialist Workers' Party (PSOE) | Spanish Socialist Workers' Party (PSOE) |
| Málaga | 1,717,504 | People's Party (PP) | People's Party (PP) |
| Ourense | 304,280 | People's Party (PP) | People's Party (PP) |
| Palencia | 158,008 | People's Party (PP) | People's Party (PP) |
| Pontevedra | 943,015 | Spanish Socialist Workers' Party (PSOE) | People's Party (PP) |
| Salamanca | 325,898 | People's Party (PP) | People's Party (PP) |
| Segovia | 153,803 | People's Party (PP) | People's Party (PP) |
| Seville | 1,948,393 | Spanish Socialist Workers' Party (PSOE) | Spanish Socialist Workers' Party (PSOE) |
| Soria | 88,377 | People's Party (PP) | People's Party (PP) |
| Tarragona | 830,075 | Republican Left of Catalonia (ERC) | Republican Left of Catalonia (ERC) |
| Teruel | 134,421 | Spanish Socialist Workers' Party (PSOE) | People's Party (PP) |
| Toledo | 713,453 | Spanish Socialist Workers' Party (PSOE) | People's Party (PP) |
| Valencia | 2,605,757 | Spanish Socialist Workers' Party (PSOE) | People's Party (PP) |
| Valladolid | 517,975 | People's Party (PP) | People's Party (PP) |
| Zamora | 167,215 | Citizens–Party of the Citizenry (CS) | People's Party (PP) |
| Zaragoza | 966,438 | Spanish Socialist Workers' Party (PSOE) | Spanish Socialist Workers' Party (PSOE) |

## Aftermath

Immediately after the outcome of the elections, Prime Minister Pedro Sánchez announced a snap general election to be held on 23 July. Political parties from across the spectrum were caught by surprise, particularly the leaders of the opposition People's Party (PP), who were reportedly feeling upset over the election call preventing them from politically capitalizing on their local elections' gains.