The 2025 Sintra local election was held on 12 October 2025 to elect the members for Sintra City Council, Sintra Municipal Assembly and the city's 15 parish assemblies.
Incumbent Mayor Basílio Horta, from the Socialist Party (PS), was ineligible for a fourth term. Former Minister of Labour Ana Mendes Godinho was chosen as the candidate of the PS, in a coalition with LIVRE (L) and supported by Volt Portugal (VP), while former Deputy Mayor Marco Almeida ran for the third time, this time with the support of the Social Democratic Party (PSD), the Liberal Initiative (IL) and People Animals Nature (PAN). Meanwhile, Chega (CH) presented the leader of Chega Youth, Rita Matias, as its candidate.
CDS – People's Party (CDS–PP) broke away with the PSD, after disagreements regarding the lists and the inclusion of the Liberal Initiative, and will contest the election in a coalition with the People's Monarchist Party (PPM) and the National Democratic Alternative (ADN), with local party councillor Maurício Rodrigues as mayoral candidate. The Unitary Democratic Coalition (CDU) repeated their 2021 mayoral candidate and local party councillor Pedro Ventura.
In his 3rd try to reach the office of mayor of Sintra, Marco Almeida (PSD/IL/CDS) was successful, winning nearly 34% of the votes and electing 4 councillors. The PS/LIVRE coalition was close behind, gathering 32% of the voted and also electing the same number of councillors as the PSD led-coalition, four. Chega increased to 23% of the voted and elected 3 councillors. CDU lost its representation in Sintra municipal council for the first time in democracy. Turnout increased with 50% of all registered voters casting a ballot.
Background Incumbent Mayor Basílio Horta, from the Socialist Party (PS), won a third and final term, with 35.3% of the votes and electing five seats, losing its absolute majority. The coalition between PSD, CDS–PP and their allies, led by Ricardo Baptista Leite, got 27.5% of the votes and elected 4 seats.
Meanwhile, the Unitary Democratic Coalition (CDU), led by Pedro Ventura, managed to hold onto its single councillor, despite a small decrease to 9.0%, while Chega (CH) elected Nuno Afonso as city councillor and got 9.1% of the votes. Nuno Afonso would go on to leave Chega in January 2023 and remained as an Independent councillor.
Candidate selection The Social Democratic Party regarded 2025 as the perfect opportunity to retake Sintra, due to Basílio Horta being term limited. Several potential candidates were considered, including former Deputy Mayor and two times candidate Marco Almeida, Figueira da Foz Mayor and former Prime Minister Pedro Santana Lopes, and even television presenter Manuel Luís Goucha. Marco Almeida announced his candidacy in December 2024, stating that he would be a candidate with or without the support of the PSD.
Meanwhile the Socialist Party also had several potential candidates, at a time when some internal polls had the party in third place behind PSD and Chega, such as Deputy Mayor Bruno Parreirão, parliamentary leader Alexandra Leitão, and MP António Mendonça Mendes. Ultimately, the choice fell on former Minister of Labour Ana Mendes Godinho. She ended up negotiating a coalition with LIVRE.
Chega, who lost his own City Councillor after he left the party, also discussed some potential candidates, such as MP Pedro Frazão and the leader of Chega Youth Rita Matias, which was eventually chosen as the party's candidate for Mayor of Sintra.
During the coalition negotiations, PSD decided to make a coalition with the Liberal Initiative and People Animals Nature, while dumping CDS–PP who was seeking to keep their seat in the city council, which caused incumbent City Councillor Maurício Rodrigues to run in a coalition between the CDS–PP, the People's Monarchist Party and the National Democratic Alternative.
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.
Parties and candidates Party/Coalition Politicalposition Candidate 2021 resultRef. Votes (%) Seats APSPSSocialist Party Ana Mendes Godinho 35.3% LFREECenter-leftto left-wing SCSPAN People Animals Nature SyncreticMarco Almeida 3.3% IL Liberal Initiative Centre-right to right-wing 2.7% PPD/PSD Social Democratic Party Center-right 27.5% PSANC CDS–PP CDS – People's PartyCenter-rightto right-wingMaurício Rodrigues PPM People's Monarchist Party Right-wing ADN National Democratic Alternative Far-right CHEnough! Far-right Rita Matias 9.1% CDUUnitary Democratic Coalition Left-wingto far-left Pedro Ventura9.0% BELeft BlocLeft-wingto far-leftTânia Russo5.8%NDNew RightRight-wingJúlio Gourgel Ferreira
Campaign period
Party slogans Party or alliance Original slogan English translation Refs APS « As Pessoas, Sempre » "The People, Always" SCS « Sempre com os Sintrenses » "Always with the People of Sintra" CH « Sintra na Linha » "Sintra in Line" CDU « Presta Contas » "Accountability" PSANC « Por Sintra, A Nossa Casa » "For Sintra, Our Home" BE « Sintra + Solidária e Sustentável » "Sintra + Solidarity and Sustainable"
Candidates' debates + 2025 Sintra local election debates Date Organisers Moderator(s) APS SCS CH CDU PSANC BE Refs 16 Sep 2025 SIC Notícias Nelma Serpa PintoPPPPPP 22 Sep 2025 RTP3 Luísa BastosPPPPPP
Opinion polling
Polling firm/Link Fieldwork date Sample sizeAPSSCSPSANCCHCDUBEND LeadPSLPANILPSDCDSPPMADN 2025 local election 12 Oct 2025 31.733.9 2.123.44.61.60.52.22.2 CESOP–UCP 12 Oct 2025 4,134 32–36 33–37 1–2 19–22 4–6 1–2 0–1 2–41 ICS/ISCTE/Pitagórica 12 Oct 2025 5,679 30.4–35.4 32.1–37.3 1.1–3.1 19.4–23.6 3.6–6.6 1.0–3.0 1.7 Intercampus 12 Oct 2025 5,653 30.4–34.4 33.8–37.8 0.0–3.7 19.3–23.3 3.2–7.2 0.0–4.0 0.0–3.63.4 Aximage 17–23 Sep 2025 50835.0 31.9 1.1 21.9 6.8 1.1 2.23.1 Pitagórica 13–18 Sep 2025 500 30.332.1 1.6 24.5 5.5 2.1 0.3 3.61.8 ICS/ISCTE 3–14 Sep 2025 80332 30 2 28 3 1 1 32 Aximage 11–22 Jul 2025 50239.5 2.2 38.2 0.3 11.3 2.3 2.9 3.31.32025 Legislative election18 May 202523.86.02.16.524.80.11.326.13.12.50.23.71.32024 EP election9 Jun 202432.94.61.89.624.21.813.14.55.10.22.48.72024 Legislative election10 Mar 202428.84.62.95.922.51.521.23.35.40.23.96.32022 Legislative election30 Jan 202244.01.92.36.320.71.30.39.74.75.33.523.3 2021 local election 26 Sep 2021 35.3 3.32.727.59.19.05.87.37.8
Results Municipal Council
| colspan="11" align=center| |- ! rowspan="2" colspan=2 style="background-color:#E9E9E9" align=left|Parties ! rowspan="2" style="background-color:#E9E9E9" align=right|Votes ! rowspan="2" style="background-color:#E9E9E9" align=right|% ! rowspan="2" style="background-color:#E9E9E9" align=right|±pp swing ! colspan="2" style="background-color:#E9E9E9" align="center"|Councillors |- style="background-color:#E9E9E9" ! style="background-color:#E9E9E9" align="center"|Total ! style="background-color:#E9E9E9" align="center"|± |- |style="width: 9px" bgcolor=#D66616 align="center" | |align=left|PSD / IL / PAN |55,088||33.88||0.4||4||0 |- |style="width: 9px" bgcolor=#FF3366 align="center" | |align=left|Socialist / LIVRE |51,528||31.69||3.6||4||1 |- |style="width: 9px" bgcolor=#202056 align="center" | |align=left|Chega |38,048||23.40||14.3||3||2
|7,531||4.63||4.4||0||1 |- |style="width: 8px" bgcolor=#0093DD align="center" | |align=left|CDS–PP / PPM / ADN |3,438||2.11||||0||
|2,647||1.63||4.2||0||0 |- |style="width: 9px" bgcolor="#012257" align="center" | | align="left" |New Right |739||0.45||||0|| |- |colspan=2 width="330" align=left style="background-color:#E9E9E9"|Total valid |width="50" align="right" style="background-color:#E9E9E9"|159,019 |width="40" align="right" style="background-color:#E9E9E9"|97.79 |width="40" align="right" style="background-color:#E9E9E9"|2.2 |width="40" align="right" style="background-color:#E9E9E9"|11 |width="40" align="right" style="background-color:#E9E9E9"|0 |- |colspan=2|Blank ballots |2,085||1.28||1.4||colspan=3 rowspan=4| |- |colspan=2|Invalid ballots |1,517||0.93||0.8 |- |colspan=2 align=left style="background-color:#E9E9E9"|Total |width="50" align="right" style="background-color:#E9E9E9"|162,621 |width="40" align="right" style="background-color:#E9E9E9"|100.00 |width="40" align="right" style="background-color:#E9E9E9"| |- |colspan=2|Registered voters/turnout ||324,885||50.05||9.9 |- | colspan=11 align=left | Source:
Municipal Assembly
| colspan="11" align=center| |- ! rowspan="2" colspan=2 style="background-color:#E9E9E9" align=left|Parties ! rowspan="2" style="background-color:#E9E9E9" align=right|Votes ! rowspan="2" style="background-color:#E9E9E9" align=right|% ! rowspan="2" style="background-color:#E9E9E9" align=right|±pp swing ! colspan="2" style="background-color:#E9E9E9" align="center"|Seats |- style="background-color:#E9E9E9" ! style="background-color:#E9E9E9" align="center"|Total ! style="background-color:#E9E9E9" align="center"|± |- |style="width: 9px" bgcolor=#D66616 align="center" | |align=left|PSD / IL / PAN |52,347||31.97||0.6||11||0 |- |style="width: 9px" bgcolor=#FF3366 align="center" | |align=left|Socialist / LIVRE |50,688||30.96||2.8||11||2 |- |style="width: 9px" bgcolor=#202056 align="center" | |align=left|Chega |39,521||24.14||14.3||9||6
|8,908||5.44||4.2||2||1 |- |style="width: 8px" bgcolor=#0093DD align="center" | |align=left|CDS–PP / PPM / ADN |3,760||2.30||||0||
|3,504||2.14||4.5||0||2 |- |style="width: 9px" bgcolor="#012257" align="center" | | align="left" |New Right |905||0.55||||0|| |- |colspan=2 width="330" align=left style="background-color:#E9E9E9"|Total valid |width="50" align="right" style="background-color:#E9E9E9"|159,633 |width="40" align="right" style="background-color:#E9E9E9"|97.49 |width="40" align="right" style="background-color:#E9E9E9"|2.1 |width="40" align="right" style="background-color:#E9E9E9"|33 |width="40" align="right" style="background-color:#E9E9E9"|0 |- |colspan=2|Blank ballots |2,478||1.51||1.3||colspan=3 rowspan=4| |- |colspan=2|Invalid ballots |1,634||1.00||0.8 |- |colspan=2 align=left style="background-color:#E9E9E9"|Total |width="50" align="right" style="background-color:#E9E9E9"|163,745 |width="40" align="right" style="background-color:#E9E9E9"|100.00 |width="40" align="right" style="background-color:#E9E9E9"| |- |colspan=2|Registered voters/turnout ||324,885||50.40||10.2 |- | colspan=11 align=left | Source:
Parish Assemblies
|- class="unsortable" !rowspan=2|Parish!!%!!S!!%!!S!!%!!S!!%!!S !rowspan=2|TotalS |- class="unsortable" style="text-align:center;" !colspan=2 | SCS !colspan=2 | APS !colspan=2 | CH !colspan=2 | CDU |- | style="text-align:left;" | Agualva e Mira-Sintra | 28.0 | 6 | style="background:#FF3366; color:white;"| 35.3 | 7 | 25.1 | 5 | 5.4 | 1 | 19 |- | style="text-align:left;" | Algueirão–Mem Martins | style="background:#D66616; color:white;"| 31.3 | 7 | 30.6 | 7 | 25.4 | 6 | 5.5 | 1 | 21 |- | style="text-align:left;" | Almargem do Bispo | style="background:#D66616; color:white;"| 35.5 | 5 | 28.4 | 4 | 26.6 | 4 | 4.3
| 13 |- | style="text-align:left;" | Belas | style="background:#D66616; color:white;"| 34.2 | 7 | 28.3 | 6 | 24.9 | 5 | 5.6 | 1 | 19 |- | style="text-align:left;" | Cacém e São Marcos | 28.7 | 6 | style="background:#FF3366; color:white;"| 30.0 | 6 | 27.3 | 6 | 5.6 | 1 | 19 |- | style="text-align:left;" | Casal de Cambra | 15.5 | 2 | style="background:#FF3366; color:white;"| 53.9 | 8 | 21.4 | 3 | 3.3
| 13 |- | style="text-align:left;" | Colares | style="background:#D66616; color:white;"| 42.1 | 6 | 27.5 | 4 | 14.3 | 2 | 7.6 | 1 | 13 |- | style="text-align:left;" | Massamá e Monte Abraão | 32.2 | 8 | style="background:#FF3366; color:white;"| 34.9 | 8 | 19.4 | 4 | 6.2 | 1 | 21 |- | style="text-align:left;" | Montelavar