2025 Porto local election
Portuguese municipal election
From Wikipedia, the free encyclopedia
The 2025 Porto local election was held on 12 October 2025 to elect the members for Porto City Council, Porto Municipal Assembly and the city's 7 parish assemblies.
12 October 2025
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
All 13 Councillors in the Porto City Council 7 seats needed for a majority | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Opinion polls | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Turnout | 57.0% | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
This election was expected to be extremely competitive after the 3 mandates of the liberal-backed Independent Rui Moreira, which was barred from running for a 4th term, with both the Socialists and Social Democrats hoping to win the second major city in Portugal,[1] with Moreira's independent movement presenting then deputy mayor Filipe Araújo as a candidate,[2] despite not having the endorsement of Rui Moreira himself.[3]
The Socialist Party chose former Health minister Manuel Pizarro as their candidate, while the Social Democratic Party formed a coalition with the CDS – People's Party and the Liberal Initiative with former minister of Parliament Affairs Pedro Duarte as their candidate.[4]
The final result was very close, with the PSD/CDS/IL candidate, Pedro Duarte, prevailing over the PS by just 2,000 votes. Manuel Pizarro (PS) failed in his 3rd attempt to become mayor of Porto, leading the Socialists to another defeat; the last time the PS won a local election in Porto was 1997.[5] Chega gathered 8.5% of the votes and elected one councillor, while CDU failed to win representation for Porto city council for the first time ever. Deputy mayor Filipe Araújo had a very poor result, just 5% and failed to be elected to council, while the Left Bloc also lost its sole councillor, and polled at just 1.8%.[6] Turnout increased considerably in this election, with 57% of voters casting a ballot, the highest share since 1993.
Background
In the 2021 election, Rui Moreira, mayor since 2013, won a third term as Mayor of Porto, winning 40.7% of the votes and 6 seats, losing his majority in the city council. The Socialist candidate, Tiago Barbosa Ribeiro, won 18.0% of the vote and 3 seats, while the Social Democratic candidate, Vladimiro Feliz, won 17.2% of the votes and 2 seats.[7]
The Unitary Democratic Coalition, led by Ilda Figueiredo, won 7.5% of the votes and 1 seat, while the Left Bloc, which presented Sérgio Aires as a candidate for mayor, gained a seat in the City Council, for the first time in its history, achieving 6.3% of the votes.[8]
Candidates selection
After 12 years of Independent Rui Moreira as Mayor, the two major parties, the Socialist Party and the Social Democratic Party, sought to retake Porto.[9]
On the right, Filipe Araújo, the leader of Rui Moreira's independent movement and Deputy Mayor, sought to run as an independent,[10] despite pressures from the PSD who wanted to prevent a split among the right.[11] The PSD waited for Minister of Parliamentary Affairs Pedro Duarte to be the party's candidate for Mayor, despite having other options such as MP Miguel Guimarães,[12] while initiating talks with CDS–PP and the Liberal Initiative for a coalition.[13]
In April 2025, Pedro Duarte confirmed his intention to run for Mayor with a PSD/CDS/IL coalition.[14] Meanwhile, Filipe Araújo decided to still run, despite not having the endorsement of Rui Moreira.[15]
On the left, the PS had several potential candidates, such as former minister and former Mayor of Baião José Luís Carneiro,[16] executive director of the National Healthcare Service Fernando Araújo[17] and former minister of Health and candidate for mayor in 2013 and 2017 Manuel Pizarro. Pizarro was eventually chosen as the candidate.[18]
Electoral system
Each party or coalition must present a list of candidates. The winner of the most voted list for the municipal council is automatically elected mayor, similar to first-past-the-post (FPTP). The lists are closed and the seats in each municipality are apportioned according to the D'Hondt method. Unlike in national legislative elections, independent lists are allowed to run.[19][20]
Parties and candidates
Declared
| Party/Coalition | Political position |
Candidate | 2021 result | Ref. | |||
|---|---|---|---|---|---|---|---|
| Votes (%) | Seats | ||||||
| FA | Filipe Araújo: Do it as Porto[b] Filipe Araújo: Fazer à Porto |
Centre-right to right-wing |
Filipe Araújo | 40.7% | 6 / 13 |
[2] | |
| PS | Socialist Party[c] Partido Socialista |
Centre-left | Manuel Pizarro | 18.0% | 3 / 13 |
[18] | |
| OPSN | Porto is us O Porto somos nós PSD, IL, CDS–PP |
Centre-right to right-wing |
Pedro Duarte | 17.2% | 2 / 13 |
[14][4] | |
| CDU | Unitary Democratic Coalition Coligação Democrática Unitária PCP, PEV |
Left-wing to far-left |
Diana Ferreira | 7.5% | 1 / 13 |
[21] | |
| BE | Left Bloc Bloco de Esquerda |
Left-wing to far-left |
Sérgio Aires | 6.3% | 1 / 13 |
[22] | |
| CH | Enough! Chega! |
Far-right | Miguel Corte-Real | 3.0% | 0 / 13 |
[23] | |
| L | FREE LIVRE |
Left-wing | Hélder Sousa | 0.5% | 0 / 13 |
[24] | |
| VP | Volt Portugal Volt Portugal |
Centre to centre-left |
Guilherme Jorge | 0.4% | 0 / 13 |
[25] | |
| NC | Porto First – Nuno Cardoso Porto Primeiro – Nuno Cardoso NC, PPM |
Centre to centre-right |
Nuno Cardoso | 0.2% | 0 / 13 |
[26][27] | |
| ADN | National Democratic Alternative Alternativa Democrática Nacional |
Far-right | Frederico Duarte Carvalho | N/a | N/a | [28] | |
| PLS | Liberal Social Party Partido Liberal Social |
Centre | Luís Tinoco Azevedo | N/a | N/a | [29] | |
| PTP | Portuguese Labour Party Partido Trabalhista Português |
Left-wing | Maria Amélia Costa | N/a | N/a | [29] | |
Withdrew
| Party/Coalition | Political position |
Candidate | 2021 result | Ref. | |||
|---|---|---|---|---|---|---|---|
| Votes (%) | Seats | ||||||
| RIR | React, Include, Recycle Reagir, Incluir, Reciclar |
Centre | Vitorino Silva | N/a | N/a | [30][31] | |
| ND | New Right Nova Direita |
Right-wing | Aníbal Pinto | N/a | N/a | [32][33] | |
| AA | Porto with Porto Porto com Porto |
Centre | António Araújo | N/a | N/a | [34][35] | |
Campaign period
Party slogans
| Party or alliance | Original slogan | English translation | Refs | |
|---|---|---|---|---|
| FA | « Fazer à Porto » | "Do it as Porto" | [36] | |
| PS | « À moda do Porto » | "Porto style" | [37] | |
| OPSN | « O Porto somos nós » | "Porto is us" | [38] | |
| CDU | « Porto para todos » | "Porto for all" | [39] | |
| BE | « Estamos aqui » | "We are here" | [40] | |
| CH | « O Miguel Chega para resolver » | "Miguel arrives to solve" | [41] | |
Candidates' debates
| Date | Organisers | Moderator(s) | P Present[d] NI Not invited I Invited A Absent invitee | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| FA Araújo |
PS Pizarro |
OPSN Duarte |
CDU Ferreira |
BE Aires |
CH Côrte-Real |
Refs | |||||||||||||||
| 21 Sep 2025 | SIC Notícias | Nelma Serpa Pinto | NI | P | P | P | P | P | [42] | ||||||||||||
| 26 Sep 2025 | Rádio Observador | Carla Jorge de Carvalho Miguel Viterbo Dias |
P | P | P | P | P | P | [43] | ||||||||||||
| 27 Sep 2025 | CNN Portugal | João Póvoa Marinheiro | P | P | P | P | P | P | [44] | ||||||||||||
| 30 Sep 2025 | RTP1 | Carlos Daniel | P | P | P | P | P | P | [45] | ||||||||||||
Opinion polling
Exit poll
| Polling firm/Link | Fieldwork date | Sample size | FA | OPSN | PS | CDU | BE | CH | L | NC PPM |
O | Lead | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| IL | CDS | PSD | |||||||||||||
| 2025 local election | 12 Oct 2025 | N/a | 5.1 0 |
37.4 6 |
35.5 6 |
3.9 0 |
1.8 0 |
8.2 1 |
3.4 0 |
1.9 0 |
2.8 0 |
1.9 | |||
| CESOP–UCP | 12 Oct 2025 | 6,124 | 4–6 0/1 |
36–40 5/7 |
33–37 5/7 |
4–6 0/1 |
1–3 0 |
6–9 1 |
3–5 0 |
1–3 0 |
2–7 0 |
3 | |||
| ICS/ISCTE/Pitagórica | 12 Oct 2025 | 7,532 | 3.8–6.8 0/1 |
34.2–39.4 5/7 |
32.0–37.2 5/7 |
2.7–5.5 0/1 |
1.1–3.1 0/1 |
6.8–10.2 0/2 |
1.1–3.1 0/1 |
1.4–3.4 0/1 |
2.2 | ||||
| Intercampus | 12 Oct 2025 | 5,890 | 3.5–7.5 0/1 |
37.0–41.0 6/8 |
30.8–34.8 4/6 |
2.5–6.5 0/1 |
0.1–4.1 0/1 |
6.2–10.2 0/2 |
1.3–5.3 0/1 |
2.7–6.7 | 6.2 | ||||
| Pitagórica | 29 Sep–4 Oct 2025 | 625 | 7.0 1 |
33.1 6 |
32.9 5 |
3.3 0 |
2.9 0 |
10.4 1 |
3.9 0 |
3.3 0 |
3.2 0 |
0.2 | |||
| CESOP–UCP | 27–28 Sep 2025 | 1,163 | 6 0/1 |
32 4/6 |
29 4/6 |
5 0/1 |
3 0 |
10 1/2 |
6 0/1 |
4 0 |
5 0 |
3 | |||
| ICS/ISCTE | 5–16 Sep 2025 | 805 | 3 0 |
34 6 |
37 6 |
4 0 |
3 0 |
10 1 |
3 0 |
2 0 |
4 0 |
3 | |||
| ICS/ISCTE | 17 Jun–2 Jul 2025 | 805 | 5 0 |
33 5 |
36 6 |
4 0 |
3 0 |
12 2 |
1 0 |
2 0 |
4 0 |
3 | |||
| 2025 Legislative election | 18 May 2025 | N/a | N/a | 8.1 (1) |
35.1[e] (5) |
23.7 (4) |
3.6 (0) |
2.9 (0) |
14.1 (2) |
7.2 (1) |
N/a | 5.2 (0) |
11.4 | ||
| 2024 EP election | 9 Jun 2024 | N/a | N/a | 12.7 (2) |
31.2[e] (4) |
27.6 (4) |
4.4 (0) |
6.6 (1) |
6.6 (1) |
6.5 (1) |
N/a | 4.4 (0) |
3.6 | ||
| 2024 Legislative election | 10 Mar 2024 | N/a | N/a | 6.8 (1) |
34.3[e] (6) |
28.3 (4) |
3.4 (0) |
5.7 (1) |
10.0 (1) |
5.6 (0) |
N/a | 5.9 (0) |
6.0 | ||
| 2022 Legislative election | 30 Jan 2022 | N/a | N/a | 7.8 (1) |
2.0 (0) |
34.7 (5) |
35.1 (6) |
4.7 (0) |
6.0 (1) |
3.3 (0) |
2.2 (0) |
N/a | 4.2 (0) |
0.4 | |
| 2021 local election | 26 Sep 2021 | N/a | 40.7 6 |
17.2 2 |
18.0 3 |
7.5 1 |
6.3 1 |
3.0 0 |
0.5 0 |
0.2 0 |
6.6 0 |
22.7 | |||
Results
Municipal Council
| Parties | Votes | % | ±pp swing | Councillors | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Total | ± | |||||||||
| Social Democratic / People's / Liberal Initiative | 42,984 | 37.36 | 6 | |||||||
| Socialist | 40,863 | 35.52 | 6 | |||||||
| CHEGA | 9,473 | 8.23 | 1 | |||||||
| Filipe Araújo: Do it as Porto | 5,845 | 5.08 | 0 | |||||||
| Unitary Democratic Coalition | 4,515 | 3.92 | 0 | |||||||
| LIVRE | 3,825 | 3.32 | 0 | |||||||
| We, the Citizens! / People's Monarchist | 2,192 | 1.91 | N/a | 0 | N/a | |||||
| Left Bloc | 2,075 | 1.80 | 0 | |||||||
| National Democratic Alternative | 363 | 0.32 | N/a | 0 | N/a | |||||
| Liberal Social | 291 | 0.25 | N/a | 0 | N/a | |||||
| Volt Portugal | 222 | 0.19 | N/a | 0 | N/a | |||||
| Labour | 62 | 0.05 | N/a | 0 | N/a | |||||
| Total valid | 112,710 | 97.96 | 13 | |||||||
| Blank ballots | 1,439 | 1.25 | ||||||||
| Invalid ballots | 904 | 0.79 | ||||||||
| Total | 115,053 | 100.00 | ||||||||
| Registered voters/turnout | 201,968 | 56.97 | ||||||||
| Source:[46] | ||||||||||
Municipal Assembly
| Parties | Votes | % | ±pp swing | Seats | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Total | ± | |||||||||
| Social Democratic / People's / Liberal Initiative | 41,892 | 36.41 | 15 | |||||||
| Socialist | 35,211 | 30.60 | 13 | |||||||
| CHEGA | 10,873 | 9.45 | 4 | |||||||
| LIVRE | 6,361 | 5.53 | 2 | |||||||
| Filipe Araújo: Do it as Porto | 6,139 | 5.34 | 2 | |||||||
| Unitary Democratic Coalition | 5,928 | 5.15 | 2 | |||||||
| Left Bloc | 2,925 | 2.54 | 1 | |||||||
| We, the Citizens! / People's Monarchist | 2,149 | 1.87 | N/a | 0 | N/a | |||||
| National Democratic Alternative | 388 | 0.34 | N/a | 0 | N/a | |||||
| Liberal Social | 352 | 0.31 | N/a | 0 | N/a | |||||
| Volt Portugal | 227 | 0.20 | N/a | 0 | N/a | |||||
| Total valid | 112,445 | 97.73 | 39 | |||||||
| Blank ballots | 1,613 | 1.40 | ||||||||
| Invalid ballots | 1,002 | 0.87 | ||||||||
| Total | 115,060 | 100.00 | ||||||||
| Registered voters/turnout | 201,968 | 56.97 | ||||||||
| Source:[46] | ||||||||||
Parish Assemblies
| Parish | % | S | % | S | % | S | % | S | % | S | % | S | % | S | Total S | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| OPSN | PS | CH | FA | L | CDU | BE | ||||||||||||
| Aldoar, Foz do Douro e Nevogilde | 51.0 | 11 | 22.0 | 5 | 9.0 | 2 | 6.5 | 1 | 3.5 | - | 2.9 | - | 1.5 | - | 19 | |||
| Bonfim | 33.8 | 8 | 27.5 | 6 | 8.7 | 2 | 6.5 | 1 | 7.1 | 1 | 7.7 | 1 | 3.8 | - | 19 | |||
| Campanhã | 23.5 | 5 | 41.0 | 10 | 14.0 | 3 | 3.6 | - | 3.5 | - | 5.8 | 1 | 1.9 | - | 19 | |||
| Cedofeita, Santo Ildefonso, Sé, Miragaia, São Nicolau e Vitória | 30.8 | 7 | 31.9 | 7 | 6.5 | 1 | 5.2 | 1 | 8.3 | 1 | 7.0 | 1 | 4.3 | 1 | 19 | |||
| Lordelo do Ouro e Massarelos | 40.8 | 9 | 28.9 | 6 | 8.9 | 1 | 4.6 | 1 | 5.1 | 1 | 5.0 | 1 | 1.8 | - | 19 | |||
| Paranhos | 39.8 | 9 | 29.6 | 6 | 8.4 | 1 | 4.3 | 1 | 5.7 | 1 | 5.2 | 1 | 3.1 | - | 19 | |||
| Ramalde | 40.8 | 9 | 30.0 | 6 | 9.4 | 2 | 5.1 | 1 | 4.5 | 1 | 3.9 | - | 1.8 | - | 19 | |||
| Total | 37.6 | 58 | 30.1 | 46 | 9.2 | 12 | 5.4 | 6 | 5.3 | 5 | 5.2 | 5 | 2.6 | 1 | 133 | |||
| Source:[47] | ||||||||||||||||||
Aftermath
Despite winning the same number of councillors as the PS, Pedro Duarte "gained" an absolute majority after managing to get one of the councillors elected by the PS, Jorge Sobrado, to be part of his local government.[48] Pedro Duarte was sworn in as mayor of Porto, under a majority capacity, on 5 November 2025.[49]
Notes
- Supported by People-Animals-Nature (PAN).
- Supported by React, Include, Recycle (RIR).
- Denotes a main invitee attending the event.
- PSD and CDS ran in a coalition, the Democratic Alliance (AD).