Local elections were held in Portugal on 16 December 2001. The elections consisted of three separate elections in the 308 Portuguese municipalities, the election for the Municipal Chambers, another election for the Municipal Assembly and a last one for the lower-level Parish Assembly, whose winner is elected parish president. This last was held separately in the more than 4,200 parishes around the country.

The Social Democratic Party (PSD) won the elections by a landslide, defying polls in many cities across the country, in particular the three main cities, Lisbon, Porto and Sintra. The Social Democrats' victory was the first since 1985, with the party, and its coalitions, managing to elect 159 mayors. The PSD won 11 of the 20 district capitals mainly Lisbon, won by Pedro Santana Lopes, and Porto, won by Rui Rio in a major upset, plus many suburban cities like Sintra, Cascais, Vila Nova de Famalicão and Penafiel also swung to the Social Democrats.

The Socialist Party (PS) was the biggest loser of the elections. After 6 years in power, governing without an absolute majority and with a worsening economic situation, the PS hopes of maintaining the largest number of mayors were dashed. The defeat was worse than expected because of loses in the major cities of Lisbon and Porto, where polls showed the PS with a lead. Because of the party's bad results and the prospect of political instability, Prime Minister António Guterres resigned on election night, stating that the country should not fall in "a political swamp".

The election was also very bad for Democratic Unity Coalition (CDU), continuing their decline and achieving their worst result in a local election till that date. The Communist-Green alliance lost 13 mayoral races, plus 37 councillors, and lost big cities like Évora and Loures to the PS. The People's Party also had a poor showing losing 5 cities, although this time they celebrated several coalitions with the PSD. On the other hand, the election returns were quite good for other smaller parties: the Left Bloc (BE) won 1 city (Salvaterra de Magos) from CDU, and the Earth Party won Celorico da Beira from the PS. Independent movements were also allowed to run in these elections for the first time and won 3 cities.

Turnout in these elections remained unchanged in comparison with the 1997 election, as 60.1 percent of the electorate cast a ballot.

After these elections, a snap general election was called for March 2002.

Background Electoral system All 308 municipalities are allocated a certain number of councilors to elect corresponding to the number of registered voters in a given municipality. 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.Eleição dos titulares dos órgãos das autarquias locais. Diário da República (in Portuguese.) Retrieved 17 July 2025.

By-elections (1997–2001) During the normal four-year term of local governments, one municipal council by-election was held in the municipality of São Pedro do Sul on 26 November 2000, adding to this, fourteen parishes also held a by-election for parish assemblies.

+City control in by-elections (1997–2001)Date Municipality Population Previous control New control26 November 2000São Pedro do Sul19,985Socialist Party (PS)Social Democratic Party (PSD)

Parties

The main political forces involved in the election were:

Left Bloc (BE) CDS – People's Party (CDS–PP) (only in some municipalities)1, 2 Unitary Democratic Coalition (CDU)2 Socialist Party (PS)2 Social Democratic Party (PSD) (only in some municipalities)1

1 The PSD and the CDS–PP formed coalitions in several municipalities. In some municipalities the PSD or CDS–PP also formed coalitions with PPM. 2 The PS formed also some coalitions with the CDS–PP and a coalition with CDU in Lisbon.

Opinion polling

Results

Municipal Councils National summary of votes and seats

! 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 ! rowspan="2" style="background-color:#E9E9E9" align=right|Candidacies ! colspan="2" style="background-color:#E9E9E9" align="center"|Councillors ! colspan="2" style="background-color:#E9E9E9" align="center"|Mayors |- style="background-color:#E9E9E9" ! style="background-color:#E9E9E9" align="center"|Total ! style="background-color:#E9E9E9" align="center"|± ! style="background-color:#E9E9E9" align="center"|Total ! style="background-color:#E9E9E9" align="center"|±

|1,792,690||34.12||4.0||295||829||40||113||14

|1,488,897||28.34||4.5||263||774||29||142||15

|557,481||10.61||1.4||300||199||37||28||13 |- |style="width: 10px" bgcolor=#FF9900 align="center" | |align=left|Social Democratic / People's |472,581||8.99||6.7||38||114||103||15||15

|195,994||3.73||1.9||195||39||44||3||5 |- |style="width: 10px" bgcolor=#FF9900 align="center" | |align=left|Social Democratic / PPM |131,135||2.50||—||1||8||—||1||— |- |style="width: 10px" bgcolor=#FF66FF align="center" | |align=left|Socialist / Democratic Unity Coalition |130,279||2.48||0.6||1||8||2||0||1 |- |style="width: 8px" bgcolor=gray align="center" | |align=left|Independents |84,010||1.60||—||22||31||—||3||— |- |style="width: 9px" bgcolor=#FF9900 align="center" | |align=left|PSD / CDS–PP / PPM |67,094 ||1.28||—||2||10||—||1||—

|61,789||1.18||—||70||6||—||1||— |- |style="width: 10px" bgcolor=#FF66FF align="center" | |align=left|Socialist / People's |25,551||0.49||—||7||13||—||0||—

|17,541||0.33||0.0||22||0||0||0||0

|12,568||0.24||0.2||19||4||2||1||1 |- |style="width: 8px" bgcolor=#0093DD align="center" | |align=left|People's / Social Democratic |7,880||0.15||—||3||6||—||0||— |- |style="width: 10px" bgcolor= align="center" | |align=left|People's Democratic Union |5,318||0.10||0.3||11||0||0||0||0 |- |style="width: 8px" bgcolor=#0093DD align="center" | |align=left|People's / People's Monarchist |4,289||0.08||—||3||1||—||0||—

|3,019||0.06||—||7||0||—||0||— |- |style="width: 8px" bgcolor=#0093DD align="center" | |align=left|People's / Socialist |2,010||0.04||—||1||2||—||0||—

|877||0.02||—||2||0||—||0||—

|294||0.01||0.1||1||0||5||0||1 |- |colspan=2 align=left style="background-color:#E9E9E9"|Total valid |width="65" align="right" style="background-color:#E9E9E9"|5,061,297 |width="40" align="right" style="background-color:#E9E9E9"|96.33 |width="40" align="right" style="background-color:#E9E9E9"|0.2 |width="40" align="right" style="background-color:#E9E9E9"|— |width="45" align="right" style="background-color:#E9E9E9"|2,044 |width="45" align="right" style="background-color:#E9E9E9"|21 |width="45" align="right" style="background-color:#E9E9E9"|308 |width="45" align="right" style="background-color:#E9E9E9"|3 |- |colspan=2|Blank ballots |114,834||2.19||0.0||colspan=6 rowspan=4| |- |colspan=2|Invalid ballots |78,049||1.49||0.1 |- |colspan=2 align=left style="background-color:#E9E9E9"|Total |width="65" align="right" style="background-color:#E9E9E9"|5,254,180 |width="40" align="right" style="background-color:#E9E9E9"|100.00 |width="40" align="right" style="background-color:#E9E9E9"| |- |colspan=2|Registered voters/turnout ||8,738,906||60.12||0.0 |- | colspan=11 align=left | Source:

Municipality map

City control The following table lists party control in all district capitals, highlighted in bold, as well as in municipalities above 100,000 inhabitants. Population estimates from the 2001 Census.

Municipality Population Previous control New control Almada 160,825 Unitary Democratic Coalition (CDU) Unitary Democratic Coalition (CDU) Amadora 175,872 Socialist Party (PS) Socialist Party (PS) Aveiro 73,335 Socialist Party (PS) Socialist Party (PS) Barcelos 122,096 Social Democratic Party (PSD) Social Democratic Party (PSD) Beja 35,762 Unitary Democratic Coalition (CDU) Unitary Democratic Coalition (CDU) Braga 169,192 Socialist Party (PS) Socialist Party (PS) Bragança 34,750 Social Democratic Party (PSD) Social Democratic Party (PSD) Cascais 170,683 Socialist Party (PS) PSD / CDS–PP Castelo Branco 55,708 Socialist Party (PS) Socialist Party (PS) Coimbra 148,443 Socialist Party (PS) PSD / CDS–PP / PPM Évora 56,519 Unitary Democratic Coalition (CDU) Socialist Party (PS) Faro 58,051 Socialist Party (PS) Social Democratic Party (PSD) Funchal 103,961 Social Democratic Party (PSD) Social Democratic Party (PSD) Gondomar 159,096 Social Democratic Party (PSD) Social Democratic Party (PSD) Guarda 43,822 Socialist Party (PS) Socialist Party (PS) Guimarães 159,576 Socialist Party (PS) Socialist Party (PS) Leiria 119,847 Social Democratic Party (PSD) Social Democratic Party (PSD) Lisbon (details) 564,657 PS / CDU PSD / PPM Loures 199,059 Socialist Party (PS) Socialist Party (PS) Maia 120,111 Social Democratic Party (PSD) PSD / CDS–PP Matosinhos 167,026 Socialist Party (PS) Socialist Party (PS) Odivelas 133,847 Municipality created Socialist Party (PS) Oeiras 162,128 Social Democratic Party (PSD) Social Democratic Party (PSD) Ponta Delgada 65,854 Social Democratic Party (PSD) Social Democratic Party (PSD) Portalegre 25,980 Socialist Party (PS) Social Democratic Party (PSD) Porto (details) 263,131 Socialist Party (PS) PSD / CDS–PP Santarém 63,563 Socialist Party (PS) Socialist Party (PS) Santa Maria da Feira 135,964 Social Democratic Party (PSD) Social Democratic Party (PSD) Seixal 150,271 Unitary Democratic Coalition (CDU) Unitary Democratic Coalition (CDU) Setúbal 113,934 Socialist Party (PS) Unitary Democratic Coalition (CDU) Sintra 363,749 Socialist Party (PS) PSD / CDS–PP Viana do Castelo 88,631 Socialist Party (PS) Socialist Party (PS) Vila Franca de Xira 122,908 Socialist Party (PS) Socialist Party (PS) Vila Nova de Famalicão 127,567 Socialist Party (PS) PSD / CDS–PP Vila Nova de Gaia 288,749 Social Democratic Party (PSD) PSD / CDS–PP Vila Real 49,957 Social Democratic Party (PSD) Social Democratic Party (PSD) Viseu 93,501 Social Democratic Party (PSD) Social Democratic Party (PSD)

Municipal Assemblies National summary of votes and seats

! 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 ! rowspan="2" style="background-color:#E9E9E9" align=right|Candidacies ! colspan="2" style="background-color:#E9E9E9" align="center"|Mandates |- style="background-color:#E9E9E9" ! style="background-color:#E9E9E9" align="center"|Total ! style="background-color:#E9E9E9" align="center"|±

|align=right|1,788,089 |align=right|34.03 |align=right|3.8 |align=right| |align=right|2,721 |align=right|166

|align=right|1,430,532 |align=right|27.23 |align=right|3.2 |align=right| |align=right|2,468 |align=right|111

|align=right|585,426 |align=right|11.14 |align=right|1.3 |align=right| |align=right|709 |align=right|89 |- |style="width: 10px" bgcolor=#FF9900 align="center" | |align=left|Social Democratic / People's |align=right|486,936 |align=right|9.27 |align=right|7.0 |align=right| |align=right|427 |align=right|392

|align=right|226,774 |align=right|4.32 |align=right|3.1 |align=right| |align=right|253 |align=right|184 |- |style="width: 10px" bgcolor=#FF66FF align="center" | |align=left|Socialist / Democratic Unity Coalition |align=right|129,852 |align=right|2.47 |align=right|0.6 |align=right| |align=right|24 |align=right|6 |- |style="width: 10px" bgcolor=#FF9900 align="center" | |align=left|Social Democratic / PPM |align=right|124,457 |align=right|2.37 |align=right|— |align=right|