| | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
All 13 Councillors in the Porto City Council 7 seats needed for a majority | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Opinion polls | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Turnout | 57.0% | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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.
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 voted 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.
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]
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. [9] [10]
| 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 | [11] | |
| OPSN | Porto is us O Porto somos nós PSD, IL, CDS–PP | Centre-right to right-wing | Pedro Duarte | 17.2% | 2 / 13 | [12] [13] | |
| CDU | Unitary Democratic Coalition Coligação Democrática Unitária PCP, PEV | Left-wing to far-left | Diana Ferreira | 7.5% | 1 / 13 | [14] | |
| BE | Left Bloc Bloco de Esquerda | Left-wing to far-left | Sérgio Aires | 6.3% | 1 / 13 | [15] | |
| CH | Enough! Chega! | Far-right | Miguel Corte-Real | 3.0% | 0 / 13 | [16] | |
| L | FREE LIVRE | Left-wing | Hélder Sousa | 0.5% | 0 / 13 | [17] | |
| VP | Volt Portugal Volt Portugal | Centre to centre-left | Guilherme Jorge | 0.4% | 0 / 13 | [18] | |
| NC | Porto First – Nuno Cardoso Porto Primeiro – Nuno Cardoso NC, PPM | Centre to centre-right | Nuno Cardoso | 0.2% | 0 / 13 | [19] [20] | |
| ADN | National Democratic Alternative Alternativa Democrática Nacional | Far-right | Frederico Duarte Carvalho | — | — | [21] | |
| PLS | Liberal Social Party Partido Liberal Social | Centre | Luís Tinoco Azevedo | — | — | [22] | |
| PTP | Portuguese Labour Party Partido Trabalhista Português | Left-wing | Maria Amélia Costa | — | — | [22] | |
| Party/Coalition | Political position | Candidate | 2021 result | Ref. | |||
|---|---|---|---|---|---|---|---|
| Votes (%) | Seats | ||||||
| RIR | React, Include, Recycle Reagir, Incluir, Reciclar | Centre | Vitorino Silva | — | — | [23] [24] | |
| ND | New Right Nova Direita | Right-wing | Aníbal Pinto | — | — | [25] [26] | |
| AA | Porto with Porto Porto com Porto | Centre | António Araújo | — | — | [27] [28] | |
| Party or alliance | Original slogan | English translation | Refs | |
|---|---|---|---|---|
| FA | « Fazer à Porto » | "Do it as Porto" | [29] | |
| PS | « À moda do Porto » | "Porto style" | [30] | |
| OPSN | « O Porto somos nós » | "Porto is us" | [31] | |
| CDU | « Porto para todos » | "Porto for all" | [32] | |
| BE | « Estamos aqui » | "We are here" | [33] | |
| CH | « O Miguel Chega para resolver » | "Miguel arrives to solve" | [34] | |
| 2025 Porto local election 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 | [35] | ||||||||||||
| 26 Sep 2025 | Rádio Observador | Carla Jorge de Carvalho Miguel Viterbo Dias | P | P | P | P | P | P | [36] | ||||||||||||
| 27 Sep 2025 | CNN Portugal | João Póvoa Marinheiro | P | P | P | P | P | P | [37] | ||||||||||||
| 30 Sep 2025 | RTP1 | Carlos Daniel | P | P | P | P | P | P | [38] | ||||||||||||
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 | — | 5.1 0 | 37.3 6 | 35.6 6 | 3.9 0 | 1.8 0 | 8.2 1 | 3.4 0 | 1.9 0 | 2.8 0 | 1.7 | |||
| 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 | — | — | 8.1 (1) | 35.1 [e] (5) | 23.7 (4) | 3.6 (0) | 2.9 (0) | 14.1 (2) | 7.2 (1) | — | 5.2 (0) | 11.4 | ||
| 2024 EP election | 9 Jun 2024 | — | — | 12.7 (2) | 31.2 [e] (4) | 27.6 (4) | 4.4 (0) | 6.6 (1) | 6.6 (1) | 6.5 (1) | — | 4.4 (0) | 3.6 | ||
| 2024 Legislative election | 10 Mar 2024 | — | — | 6.8 (1) | 34.3 [e] (6) | 28.3 (4) | 3.4 (0) | 5.7 (1) | 10.0 (1) | 5.6 (0) | — | 5.9 (0) | 6.0 | ||
| 2022 Legislative election | 30 Jan 2022 | — | — | 7.8 (1) | 2.0 (0) | 34.7 (5) | 35.1 (6) | 4.7 (0) | 6.0 (1) | 3.3 (0) | 2.2 (0) | — | 4.2 (0) | 0.4 | |
| 2021 local election | 26 Sep 2021 | — | 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 | |||
| Parties | Votes | % | ±pp swing | Councillors | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Total | ± | |||||||||
| Social Democratic / People's / Liberal Initiative | 42,922 | 37.30 | 6 | |||||||
| Socialist | 40,931 | 35.57 | 6 | |||||||
| CHEGA | 9,455 | 8.22 | 1 | |||||||
| Filipe Araújo: Do it as Porto | 5,844 | 5.08 | 0 | |||||||
| Unitary Democratic Coalition | 4,512 | 3.92 | 0 | |||||||
| LIVRE | 3,854 | 3.35 | 0 | |||||||
| We, the Citizens! / People's Monarchist | 2,190 | 1.90 | — | 0 | — | |||||
| Left Bloc | 2,075 | 1.80 | 0 | |||||||
| National Democratic Alternative | 363 | 0.32 | — | 0 | — | |||||
| Liberal Social | 291 | 0.25 | — | 0 | — | |||||
| Volt Portugal | 147 | 0.13 | — | 0 | — | |||||
| Labour | 62 | 0.05 | — | 0 | — | |||||
| Total valid | 112,646 | 97.90 | 13 | |||||||
| Blank ballots | 1,437 | 1.25 | ||||||||
| Invalid ballots | 980 | 0.85 | ||||||||
| Total | 115,063 | 100.00 | ||||||||
| Registered voters/turnout | 201,968 | 56.97 | ||||||||
| Source: [39] | ||||||||||
| Parties | Votes | % | ±pp swing | Seats | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Total | ± | |||||||||
| Social Democratic / People's / Liberal Initiative | 41,862 | 36.38 | 15 | |||||||
| Socialist | 35,138 | 30.54 | 13 | |||||||
| CHEGA | 10,870 | 9.45 | 4 | |||||||
| LIVRE | 6,371 | 5.54 | 2 | |||||||
| Filipe Araújo: Do it as Porto | 6,133 | 5.33 | 2 | |||||||
| Unitary Democratic Coalition | 5,933 | 5.16 | 2 | |||||||
| Left Bloc | 2,951 | 2.56 | 1 | |||||||
| We, the Citizens! / People's Monarchist | 2,147 | 1.87 | — | 0 | — | |||||
| National Democratic Alternative | 389 | 0.34 | — | 0 | — | |||||
| Liberal Social | 328 | 0.29 | — | 0 | — | |||||
| Volt Portugal | 228 | 0.20 | — | 0 | — | |||||
| Total valid | 112,350 | 97.64 | 39 | |||||||
| Blank ballots | 1,619 | 1.41 | ||||||||
| Invalid ballots | 1,095 | 0.85 | ||||||||
| Total | 115,064 | 100.00 | ||||||||
| Registered voters/turnout | 201,968 | 56.97 | ||||||||
| Source: [40] | ||||||||||
| 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: [41] | ||||||||||||||||||