Results breakdown of the 2021 Portuguese local elections by major cities

This is the results breakdown of the 2021 Portuguese local elections for the Municipal Councils held on 26 September 2021. The following tables show detailed results in all district capitals, as well as in municipalities above 100,000 inhabitants.

Almada
! 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" align="center"|Total ! style="background-color:#E9E9E9" align="center"|±
 * colspan="11" style="text-align:center;" | Almada Town Council 2021.svg
 * colspan="11" style="text-align:center;" | Almada Town Council 2021.svg
 * - style="background-color:#E9E9E9"
 * 28,203||39.87||8.4||5||1
 * 21,006||29.69||1.1||4||0
 * style="width: 9px" bgcolor= align="center" |
 * align=left|PSD / CDS–PP / Alliance / MPT / PPM
 * 7,574||10.71||5.9||1||1
 * 4,834||6.83||2.8||1||0
 * style="width: 9px" bgcolor=#202056 align="center" |
 * align=left|CHEGA
 * 3,980||5.63||N/A||0||N/A
 * 1,617||2.29||1.6||0||0
 * style="width: 9px" bgcolor=#00ADEF align="center" |
 * align=left|Liberal Initiative
 * 1,391||1.97||N/A||0||N/A
 * colspan=2 width="330" align=left style="background-color:#E9E9E9"|Total valid
 * width="50" align="right" style="background-color:#E9E9E9"|68,605
 * width="40" align="right" style="background-color:#E9E9E9"|96.98
 * width="40" align="right" style="background-color:#E9E9E9"|2.0
 * width="40" align="right" style="background-color:#E9E9E9"|11
 * width="40" align="right" style="background-color:#E9E9E9"|0
 * colspan=2|Blank ballots
 * 1,324||1.87||1.0||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 814||1.15||1.0
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|70,743
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 151,953||46.56||2.3
 * colspan=11 align=left | Source: Almada 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Socialist hold
 * }
 * 1,324||1.87||1.0||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 814||1.15||1.0
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|70,743
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 151,953||46.56||2.3
 * colspan=11 align=left | Source: Almada 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Socialist hold
 * }
 * colspan=11 align=left | Source: Almada 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Socialist hold
 * }
 * }

Amadora
! 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" align="center"|Total ! style="background-color:#E9E9E9" align="center"|±
 * colspan="11" style="text-align:center;" | Amadora Town Council 2021.svg
 * colspan="11" style="text-align:center;" | Amadora Town Council 2021.svg
 * - style="background-color:#E9E9E9"
 * 27,221||43.88||4.1||7||0
 * style="width: 9px" bgcolor= align="center" |
 * align=left|PSD / CDS–PP / Alliance / MPT / PDR
 * 15,230||24.55||6.5||3||1
 * 6,162||9.93||2.3||1||0
 * style="width: 9px" bgcolor=#202056 align="center" |
 * align=left|CHEGA
 * 3,375||5.44||N/A||0||N/A
 * 3,305||5.33||1.6||0||1
 * 1,933||3.12||0.1||0||0
 * style="width: 9px" bgcolor=#00ADEF align="center" |
 * align=left|Liberal Initiative
 * 1,729||2.79||N/A||0||N/A
 * style="width: 9px" bgcolor=#005FAD align="center" |
 * align=left|People's Monarchist / React, Include, Recycle
 * 377||0.61||N/A||0||N/A
 * style="width: 9px" bgcolor=crimson align="center" |
 * align=left|Socialist Alternative Movement
 * 227||0.37||N/A||0||N/A
 * colspan=2 width="330" align=left style="background-color:#E9E9E9"|Total valid
 * width="50" align="right" style="background-color:#E9E9E9"|59,559
 * width="40" align="right" style="background-color:#E9E9E9"|96.00
 * width="40" align="right" style="background-color:#E9E9E9"|1.8
 * width="40" align="right" style="background-color:#E9E9E9"|11
 * width="40" align="right" style="background-color:#E9E9E9"|0
 * colspan=2|Blank ballots
 * 1,469||2.37||1.1||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 1,010||1.63||0.7
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|62,038
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 145,310||42.69||0.0
 * colspan=11 align=left | Source: Amadora 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Socialist hold
 * }
 * colspan=2|Blank ballots
 * 1,469||2.37||1.1||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 1,010||1.63||0.7
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|62,038
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 145,310||42.69||0.0
 * colspan=11 align=left | Source: Amadora 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Socialist hold
 * }
 * colspan=11 align=left | Source: Amadora 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Socialist hold
 * }
 * align="left" colspan="6"|Socialist hold
 * }

Aveiro
! 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" align="center"|Total ! style="background-color:#E9E9E9" align="center"|±
 * colspan="11" style="text-align:center;" | Aveiro Town Council 2021.svg
 * colspan="11" style="text-align:center;" | Aveiro Town Council 2021.svg
 * - style="background-color:#E9E9E9"
 * style="width: 9px" bgcolor= align="center" |
 * align=left|PSD / CDS–PP / PPM
 * 17,549||51.26||2.7||6||0
 * style="width: 9px" bgcolor=#FF66FF align="center" |
 * align=left|Socialist / People–Animals–Nature
 * 8,901||26.00||5.0||3||0
 * 2,191||6.40||0.4||0||0
 * style="width: 9px" bgcolor=#202056 align="center" |
 * align=left|CHEGA
 * 1,383||4.04||N/A||0||N/A
 * 1,144||3.34||0.7||0||0
 * style="width: 9px" bgcolor=#00ADEF align="center" |
 * align=left|Liberal Initiative
 * 790||2.31||N/A||0||N/A
 * style="width: 9px" bgcolor=gold align="center" |
 * align=left|We, the Citizens!
 * 358||1.05||N/A||0||N/A
 * 92||0.27||N/A||0||N/A
 * colspan=2 width="330" align=left style="background-color:#E9E9E9"|Total valid
 * width="50" align="right" style="background-color:#E9E9E9"|32,408
 * width="40" align="right" style="background-color:#E9E9E9"|94.66
 * width="40" align="right" style="background-color:#E9E9E9"|1.0
 * width="40" align="right" style="background-color:#E9E9E9"|9
 * width="40" align="right" style="background-color:#E9E9E9"|0
 * colspan=2|Blank ballots
 * 1,235||3.61||0.6||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 594||1.73||0.5
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|34,237
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 70,541||48.53||0.6
 * colspan=11 align=left | Source: Aveiro 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|PSD / CDS–PP / PPM hold
 * }
 * 1,235||3.61||0.6||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 594||1.73||0.5
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|34,237
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 70,541||48.53||0.6
 * colspan=11 align=left | Source: Aveiro 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|PSD / CDS–PP / PPM hold
 * }
 * colspan=11 align=left | Source: Aveiro 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|PSD / CDS–PP / PPM hold
 * }
 * }

Barcelos
! 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" align="center"|Total ! style="background-color:#E9E9E9" align="center"|±
 * colspan="11" style="text-align:center;" | Barcelos Town Council 2021.svg
 * colspan="11" style="text-align:center;" | Barcelos Town Council 2021.svg
 * - style="background-color:#E9E9E9"
 * style="width: 9px" bgcolor= align="center" |
 * align=left|Social Democratic / People's
 * 33,753||45.39||12.6||6||2
 * 27,633||37.16||4.0||5||0
 * style="width: 8px" bgcolor=gray align="center" |
 * align=left|All Barcelos (TB)
 * 3,323||4.47||N/A||0||N/A
 * style="width: 9px" bgcolor=#202056 align="center" |
 * align=left|CHEGA
 * 2,780||3.74||N/A||0||N/A
 * 1,688||2.27||0.4||0||0
 * 1,243||1.67||0.2||0||0
 * style="width: 9px" bgcolor=crimson align="center" |
 * align=left|Socialist Alternative Movement
 * 511||0.69||0.5||0||0
 * colspan=2 width="330" align=left style="background-color:#E9E9E9"|Total valid
 * width="50" align="right" style="background-color:#E9E9E9"|70,931
 * width="40" align="right" style="background-color:#E9E9E9"|95.38
 * width="40" align="right" style="background-color:#E9E9E9"|1.0
 * width="40" align="right" style="background-color:#E9E9E9"|11
 * width="40" align="right" style="background-color:#E9E9E9"|0
 * colspan=2|Blank ballots
 * 2,304||3.10||0.9||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 1,133||1.52||0.1
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|74,368
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 106,239||70.00||1.7
 * colspan=11 align=left | Source: Barcelos 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * colspan="6" align=left|Social Democratic / People's gain from Socialist
 * }
 * colspan=2|Invalid ballots
 * 1,133||1.52||0.1
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|74,368
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 106,239||70.00||1.7
 * colspan=11 align=left | Source: Barcelos 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * colspan="6" align=left|Social Democratic / People's gain from Socialist
 * }
 * colspan=11 align=left | Source: Barcelos 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * colspan="6" align=left|Social Democratic / People's gain from Socialist
 * }
 * }

Beja
! 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" align="center"|Total ! style="background-color:#E9E9E9" align="center"|±
 * colspan="11" style="text-align:center;" | Beja Town Council 2021.svg
 * colspan="11" style="text-align:center;" | Beja Town Council 2021.svg
 * - style="background-color:#E9E9E9"
 * 6,336||39.14||7.1||3||1
 * 5,371||32.84||4.8||3||0
 * style="width: 9px" bgcolor= align="center" |
 * align=left|PSD / CDS–PP / PPM / IL / Alliance
 * 3,000||18.53||10.0||1||1
 * style="width: 9px" bgcolor=#202056 align="center" |
 * align=left|CHEGA
 * 880||5.44||N/A||0||N/A
 * 274||1.69||1.7||0||0
 * colspan=2 width="330" align=left style="background-color:#E9E9E9"|Total valid
 * width="50" align="right" style="background-color:#E9E9E9"|15,807
 * width="40" align="right" style="background-color:#E9E9E9"|97.64
 * width="40" align="right" style="background-color:#E9E9E9"|1.8
 * width="40" align="right" style="background-color:#E9E9E9"|7
 * width="40" align="right" style="background-color:#E9E9E9"|0
 * colspan=2|Blank ballots
 * 230||1.42||1.1||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 152||0.94||0.7
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|16,189
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 28,777||56.26||0.3
 * colspan=11 align=left | Source: Beja 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Socialist hold
 * }
 * 152||0.94||0.7
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|16,189
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 28,777||56.26||0.3
 * colspan=11 align=left | Source: Beja 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Socialist hold
 * }
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Socialist hold
 * }
 * }

Braga
! 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" align="center"|Total ! style="background-color:#E9E9E9" align="center"|±
 * colspan="11" style="text-align:center;" | Braga Town Council 2021.svg
 * colspan="11" style="text-align:center;" | Braga Town Council 2021.svg
 * - style="background-color:#E9E9E9"
 * style="width: 9px" bgcolor= align="center" |
 * align=left|PSD / CDS–PP / PPM / Alliance
 * 40,585||42.89||9.2||6||1
 * 29,042||30.69||2.8||4||1
 * 6,363||6.72||2.9||1||0
 * style="width: 9px" bgcolor=#202056 align="center" |
 * align=left|CHEGA
 * 4,411||4.66||N/A||0||N/A
 * 3,974||4.20||0.6||0||0
 * style="width: 9px" bgcolor=#00ADEF align="center" |
 * align=left|Liberal Initiative
 * 2,766||2.92||N/A||0||N/A
 * 2,593||2.74||N/A||0||N/A
 * 573||0.61||N/A||0||N/A
 * colspan=2 width="330" align=left style="background-color:#E9E9E9"|Total valid
 * width="50" align="right" style="background-color:#E9E9E9"|90,307
 * width="40" align="right" style="background-color:#E9E9E9"|95.44
 * width="40" align="right" style="background-color:#E9E9E9"|0.2
 * width="40" align="right" style="background-color:#E9E9E9"|11
 * width="40" align="right" style="background-color:#E9E9E9"|0
 * colspan=2|Blank ballots
 * 3,009||3.18||0.4||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 1,305||1.38||0.2
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|94,621
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 166,180||56.94||0.7
 * colspan=11 align=left | Source: Braga 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|PSD / CDS–PP / PPM / Alliance hold
 * }
 * colspan=2|Blank ballots
 * 3,009||3.18||0.4||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 1,305||1.38||0.2
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|94,621
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 166,180||56.94||0.7
 * colspan=11 align=left | Source: Braga 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|PSD / CDS–PP / PPM / Alliance hold
 * }
 * colspan=11 align=left | Source: Braga 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|PSD / CDS–PP / PPM / Alliance hold
 * }
 * align="left" colspan="6"|PSD / CDS–PP / PPM / Alliance hold
 * }

Bragança
! 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" align="center"|Total ! style="background-color:#E9E9E9" align="center"|±
 * colspan="11" style="text-align:center;" | Bragança Town Council 2021.svg
 * colspan="11" style="text-align:center;" | Bragança Town Council 2021.svg
 * - style="background-color:#E9E9E9"
 * 10,307||57.51||0.5||5||0
 * 4,836||26.98||0.1||2||0
 * style="width: 9px" bgcolor=#202056 align="center" |
 * align=left|CHEGA
 * 1,055||5.89||N/A||0||N/A
 * 398||2.22||0.1||0||0
 * 249||1.39||2.8||0||0
 * 237||1.32||1.4||0||0
 * colspan=2 width="330" align=left style="background-color:#E9E9E9"|Total valid
 * width="50" align="right" style="background-color:#E9E9E9"|17,082
 * width="40" align="right" style="background-color:#E9E9E9"|95.31
 * width="40" align="right" style="background-color:#E9E9E9"|0.4
 * width="40" align="right" style="background-color:#E9E9E9"|7
 * width="40" align="right" style="background-color:#E9E9E9"|0
 * colspan=2|Blank ballots
 * 531||2.96||0.1||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 310||1.73||0.5
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|17,923
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 35,426||50.59||2.0
 * colspan=11 align=left | Source: Bragança 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Social Democratic hold
 * }
 * 531||2.96||0.1||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 310||1.73||0.5
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|17,923
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 35,426||50.59||2.0
 * colspan=11 align=left | Source: Bragança 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Social Democratic hold
 * }
 * colspan=11 align=left | Source: Bragança 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Social Democratic hold
 * }
 * }

Cascais
! 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" align="center"|Total ! style="background-color:#E9E9E9" align="center"|±
 * colspan="11" style="text-align:center;" | Cascais Town Council 2021.svg
 * colspan="11" style="text-align:center;" | Cascais Town Council 2021.svg
 * - style="background-color:#E9E9E9"
 * style="width: 9px" bgcolor= align="center" |
 * align=left|Social Democratic / People's
 * 41,962||52.55||6.6||7||1
 * style="width: 9px" bgcolor=#FF66FF align="center" |
 * align=left|Socialist / People–Animals–Nature / LIVRE
 * 17,265||21.62||12.0||3||1
 * style="width: 9px" bgcolor=#202056 align="center" |
 * align=left|CHEGA
 * 5,927||7.42||N/A||1||N/A
 * 4,304||5.39||2.1||0||1
 * style="width: 9px" bgcolor=#00ADEF align="center" |
 * align=left|Liberal Initiative
 * 3,468||4.34||N/A||0||N/A
 * 2,919||3.66||1.6||0||0
 * style="width: 9px" bgcolor=gold align="center" |
 * align=left|We, the Citizens! / People's Monarchist
 * 1,471||1.84||N/A||0||N/A
 * colspan=2 width="330" align=left style="background-color:#E9E9E9"|Total valid
 * width="50" align="right" style="background-color:#E9E9E9"|77,316
 * width="40" align="right" style="background-color:#E9E9E9"|96.82
 * width="40" align="right" style="background-color:#E9E9E9"|1.8
 * width="40" align="right" style="background-color:#E9E9E9"|11
 * width="40" align="right" style="background-color:#E9E9E9"|0
 * colspan=2|Blank ballots
 * 1,569||1.96||1.2||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 973||1.22||0.6
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|79,858
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 179,237||44.55||1.0
 * colspan=11 align=left | Source: Cascais 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Social Democratic / People's hold
 * }
 * colspan=2|Invalid ballots
 * 973||1.22||0.6
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|79,858
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 179,237||44.55||1.0
 * colspan=11 align=left | Source: Cascais 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Social Democratic / People's hold
 * }
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Social Democratic / People's hold
 * }
 * }

Castelo Branco
! 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" align="center"|Total ! style="background-color:#E9E9E9" align="center"|±
 * colspan="11" style="text-align:center;" | Castelo Branco Town Council 2021.svg
 * colspan="11" style="text-align:center;" | Castelo Branco Town Council 2021.svg
 * - style="background-color:#E9E9E9"
 * 9,813||35.95||22.8||3||2
 * style="width: 8px" bgcolor=gray align="center" |
 * align=left|Always - Independent Movement (S-MI)
 * 8,638||31.65||N/A||3||N/A
 * style="width: 9px" bgcolor= align="center" |
 * align=left|PSD / CDS–PP / PPM
 * 3,131||11.47||15.2||1||1
 * style="width: 9px" bgcolor=#202056 align="center" |
 * align=left|CHEGA
 * 1,961||7.18||N/A||0||N/A
 * 1,606||5.88||N/A||0||N/A
 * 590||2.16||2.3||0||0
 * 446||1.63||2.9||0||0
 * colspan=2 width="330" align=left style="background-color:#E9E9E9"|Total valid
 * width="50" align="right" style="background-color:#E9E9E9"|26,185
 * width="40" align="right" style="background-color:#E9E9E9"|95.93
 * width="40" align="right" style="background-color:#E9E9E9"|1.5
 * width="40" align="right" style="background-color:#E9E9E9"|7
 * width="40" align="right" style="background-color:#E9E9E9"|0
 * colspan=2|Blank ballots
 * 653||2.39||0.9||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 457||1.67||0.6
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|27,295
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 48,441||56.35||2.9
 * colspan=11 align=left | Source: Castelo Branco 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Socialist hold
 * }
 * 653||2.39||0.9||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 457||1.67||0.6
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|27,295
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 48,441||56.35||2.9
 * colspan=11 align=left | Source: Castelo Branco 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Socialist hold
 * }
 * colspan=11 align=left | Source: Castelo Branco 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Socialist hold
 * }
 * }

Coimbra
! 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" align="center"|Total ! style="background-color:#E9E9E9" align="center"|±
 * colspan="11" style="text-align:center;" | Coimbra Town Council 2021.svg
 * colspan="11" style="text-align:center;" | Coimbra Town Council 2021.svg
 * - style="background-color:#E9E9E9"
 * style="width: 9px" bgcolor= align="center" |
 * align=left|PSD / CDS–PP / NC / PPM / Alliance / RIR / Volt
 * 29,349||43.92||17.3||6||3
 * 21,820||32.65||2.8||4||1
 * 5,022||7.51||0.8||1||0
 * style="width: 8px" bgcolor=gray align="center" |
 * align=left|Citizens for Coimbra (CpC)
 * 4,201||6.29||0.7||0||0
 * style="width: 9px" bgcolor=#202056 align="center" |
 * align=left|CHEGA
 * 1,529||2.29||N/A||0||N/A
 * style="width: 9px" bgcolor=#00ADEF align="center" |
 * align=left|Liberal Initiative
 * 1,111||1.66||N/A||0||N/A
 * 968||1.45||0.1||0||0
 * style="width: 9px" bgcolor=black align="center" |
 * align=left|Democratic Republican / Earth
 * 144||0.22||N/A||0||N/A
 * colspan=2 width="330" align=left style="background-color:#E9E9E9"|Total valid
 * width="50" align="right" style="background-color:#E9E9E9"|64,144
 * width="40" align="right" style="background-color:#E9E9E9"|95.98
 * width="40" align="right" style="background-color:#E9E9E9"|0.7
 * width="40" align="right" style="background-color:#E9E9E9"|11
 * width="40" align="right" style="background-color:#E9E9E9"|0
 * colspan=2|Blank ballots
 * 1,948||2.91||0.1||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 739||1.11||0.5
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|66,831
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 126,293||52.92||0.5
 * colspan=11 align=left | Source: Coimbra 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * colspan="6" align=left|PSD / CDS–PP / NC / PPM / Alliance / RIR / Volt gain from Socialist
 * }
 * 1,948||2.91||0.1||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 739||1.11||0.5
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|66,831
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 126,293||52.92||0.5
 * colspan=11 align=left | Source: Coimbra 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * colspan="6" align=left|PSD / CDS–PP / NC / PPM / Alliance / RIR / Volt gain from Socialist
 * }
 * colspan=11 align=left | Source: Coimbra 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * colspan="6" align=left|PSD / CDS–PP / NC / PPM / Alliance / RIR / Volt gain from Socialist
 * }
 * }

Évora
! 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" align="center"|Total ! style="background-color:#E9E9E9" align="center"|±
 * colspan="11" style="text-align:center;" | Évora Town Council 2021.svg
 * colspan="11" style="text-align:center;" | Évora Town Council 2021.svg
 * - style="background-color:#E9E9E9"
 * 6,413||27.44||13.1||2||2
 * 6,140||26.39||0.1||2||0
 * style="width: 9px" bgcolor= align="center" |
 * align=left|PSD / CDS–PP / MPT / PPM
 * 4,458||19.07||1.7||2||1
 * style="width: 9px" bgcolor=gold align="center" |
 * align=left|We, the Citizens! / React, Include, Recycle
 * 2,972||12.71||N/A||1||N/A
 * style="width: 9px" bgcolor=#202056 align="center" |
 * align=left|CHEGA
 * 1,591||6.81||N/A||0||N/A
 * 888||3.80||1.0||0||0
 * colspan=2 width="330" align=left style="background-color:#E9E9E9"|Total valid
 * width="50" align="right" style="background-color:#E9E9E9"|22,462
 * width="40" align="right" style="background-color:#E9E9E9"|96.10
 * width="40" align="right" style="background-color:#E9E9E9"|1.5
 * width="40" align="right" style="background-color:#E9E9E9"|7
 * width="40" align="right" style="background-color:#E9E9E9"|0
 * colspan=2|Blank ballots
 * 614||2.63||0.9||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 298||1.27||0.7
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|23,374
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 46,895||49.84||0.9
 * colspan=11 align=left | Source: Évora 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Unitary Democratic Coalition hold
 * }
 * colspan=2|Invalid ballots
 * 298||1.27||0.7
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|23,374
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 46,895||49.84||0.9
 * colspan=11 align=left | Source: Évora 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Unitary Democratic Coalition hold
 * }
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Unitary Democratic Coalition hold
 * }
 * }

Faro
! 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" align="center"|Total ! style="background-color:#E9E9E9" align="center"|±
 * colspan="11" style="text-align:center;" | Faro Town Council 2021.svg
 * colspan="11" style="text-align:center;" | Faro Town Council 2021.svg
 * - style="background-color:#E9E9E9"
 * style="width: 9px" bgcolor= align="center" |
 * align=left|PSD / CDS–PP / IL / MPT / PPM
 * 12,195||47.76||3.8||6||1
 * 7,809||30.58||7.5||3||1
 * 1,656||6.48||0.9||0||0
 * style="width: 9px" bgcolor=#202056 align="center" |
 * align=left|CHEGA
 * 1,311||5.13||N/A||0||N/A
 * 1,035||2.66||0.4||0||0
 * 678||2.66||0.4||0||0
 * colspan=2 width="330" align=left style="background-color:#E9E9E9"|Total valid
 * width="50" align="right" style="background-color:#E9E9E9"|24,684
 * width="40" align="right" style="background-color:#E9E9E9"|96.66
 * width="40" align="right" style="background-color:#E9E9E9"|0.1
 * width="40" align="right" style="background-color:#E9E9E9"|9
 * width="40" align="right" style="background-color:#E9E9E9"|0
 * colspan=2|Blank ballots
 * 558||2.19||0.1||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 294||1.15||0.2
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|25,536
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 56,855||44.91||0.4
 * colspan=11 align=left | Source: Faro 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|PSD / CDS–PP / IL / MPT / PPM hold
 * }
 * colspan=2|Invalid ballots
 * 294||1.15||0.2
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|25,536
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 56,855||44.91||0.4
 * colspan=11 align=left | Source: Faro 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|PSD / CDS–PP / IL / MPT / PPM hold
 * }
 * colspan=11 align=left | Source: Faro 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|PSD / CDS–PP / IL / MPT / PPM hold
 * }
 * }

Funchal
! 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" align="center"|Total ! style="background-color:#E9E9E9" align="center"|±
 * colspan="11" style="text-align:center;" | Funchal Town Council 2021.svg
 * colspan="11" style="text-align:center;" | Funchal Town Council 2021.svg
 * - style="background-color:#E9E9E9"
 * style="width: 9px" bgcolor= align="center" |
 * align=left|Social Democratic / People's
 * 26,841||46.98||6.4||6||1
 * style="width: 9px" bgcolor= align="center" |
 * align=left|PS / BE / PAN / MPT / PDR
 * 22,694||39.72||2.3||5||1
 * 1,647||2.88||0.7||0||0
 * style="width: 9px" bgcolor=#202056 align="center" |
 * align=left|CHEGA
 * 1,476||2.58||N/A||0||N/A
 * style="width: 9px" bgcolor=green align="center" |
 * align=left|Together for the People
 * 974||1.70||N/A||0||N/A
 * style="width: 9px" bgcolor=#00ADEF align="center" |
 * align=left|Liberal Initiative
 * 720||1.26||N/A||0||N/A
 * style="width: 10px" bgcolor=#CC0033 align="center" |
 * align=left|Labour
 * 639||1.12||0.4||0||0
 * 257||0.45||N/A||0||N/A
 * 251||0.44||1.9||0||0
 * colspan=2 width="330" align=left style="background-color:#E9E9E9"|Total valid
 * width="50" align="right" style="background-color:#E9E9E9"|55,499
 * width="40" align="right" style="background-color:#E9E9E9"|97.14
 * width="40" align="right" style="background-color:#E9E9E9"|1.3
 * width="40" align="right" style="background-color:#E9E9E9"|11
 * width="40" align="right" style="background-color:#E9E9E9"|0
 * colspan=2|Blank ballots
 * 478||0.84||0.4||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 1,158||2.03||0.9
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|57,135
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 106,357||53.72||1.0
 * colspan=11 align=left | Source: Funchal 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Social Democratic / People's gain from PS / BE / PAN / MPT / PDR
 * }
 * colspan=2|Blank ballots
 * 478||0.84||0.4||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 1,158||2.03||0.9
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|57,135
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 106,357||53.72||1.0
 * colspan=11 align=left | Source: Funchal 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Social Democratic / People's gain from PS / BE / PAN / MPT / PDR
 * }
 * colspan=11 align=left | Source: Funchal 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Social Democratic / People's gain from PS / BE / PAN / MPT / PDR
 * }
 * }

Gondomar
! 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" align="center"|Total ! style="background-color:#E9E9E9" align="center"|±
 * colspan="11" style="text-align:center;" | Gondomar Town Council 2021.svg
 * colspan="11" style="text-align:center;" | Gondomar Town Council 2021.svg
 * - style="background-color:#E9E9E9"
 * 33,469||46.89||1.4||7||1
 * style="width: 9px" bgcolor= align="center" |
 * align=left|Social Democratic / People's
 * 15,400||21.58||10.5||3||2
 * 7,735||10.84||4.5||1||1
 * 4,130||5.79||2.2||0||0
 * style="width: 9px" bgcolor=#202056 align="center" |
 * align=left|CHEGA
 * 2,857||4.00||N/A||0||N/A
 * 2,066||2.89||N/A||0||N/A
 * style="width: 9px" bgcolor=#00ADEF align="center" |
 * align=left|Liberal Initiative
 * 1,945||2.73||N/A||0||N/A
 * colspan=2 width="330" align=left style="background-color:#E9E9E9"|Total valid
 * width="50" align="right" style="background-color:#E9E9E9"|67,602
 * width="40" align="right" style="background-color:#E9E9E9"|94.71
 * width="40" align="right" style="background-color:#E9E9E9"|0.7
 * width="40" align="right" style="background-color:#E9E9E9"|11
 * width="40" align="right" style="background-color:#E9E9E9"|0
 * colspan=2|Blank ballots
 * 2,311||3.24||1.0||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 1,462||2.05||0.3
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|71,375
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 146,210||48.82||7.3
 * colspan=11 align=left | Source: Gondomar 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Socialist hold
 * }
 * 2,311||3.24||1.0||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 1,462||2.05||0.3
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|71,375
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 146,210||48.82||7.3
 * colspan=11 align=left | Source: Gondomar 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Socialist hold
 * }
 * colspan=11 align=left | Source: Gondomar 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Socialist hold
 * }
 * }

Guarda
! 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" align="center"|Total ! style="background-color:#E9E9E9" align="center"|±
 * colspan="11" style="text-align:center;" | Guarda Town Council 2021.svg
 * colspan="11" style="text-align:center;" | Guarda Town Council 2021.svg
 * - style="background-color:#E9E9E9"
 * style="width: 8px" bgcolor=gray align="center" |
 * align=left|For Guarda (PG)
 * 8,559||36.22||N/A||3||N/A
 * 7,958||33.68||27.5||3||2
 * 4,249||17.98||5.4||1||1
 * 636||2.69||2.9||0||0
 * style="width: 9px" bgcolor=#202056 align="center" |
 * align=left|CHEGA
 * 636||2.69||N/A||0||N/A
 * 378||1.60||1.4||0||0
 * 310||1.31||0.8||0||0
 * colspan=2 width="330" align=left style="background-color:#E9E9E9"|Total valid
 * width="50" align="right" style="background-color:#E9E9E9"|22,726
 * width="40" align="right" style="background-color:#E9E9E9"|96.18
 * width="40" align="right" style="background-color:#E9E9E9"|0.9
 * width="40" align="right" style="background-color:#E9E9E9"|7
 * width="40" align="right" style="background-color:#E9E9E9"|0
 * colspan=2|Blank ballots
 * 433||1.83||0.6||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 469||1.98||0.3
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|23,628
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 37,390||63.19||2.3
 * colspan=11 align=left | Source: Guarda 2021 election results
 * style="width: 9px" bgcolor=gray align="center" |
 * align="left" colspan="6"|Independent gain from Social Democratic
 * }
 * colspan=2|Blank ballots
 * 433||1.83||0.6||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 469||1.98||0.3
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|23,628
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 37,390||63.19||2.3
 * colspan=11 align=left | Source: Guarda 2021 election results
 * style="width: 9px" bgcolor=gray align="center" |
 * align="left" colspan="6"|Independent gain from Social Democratic
 * }
 * colspan=11 align=left | Source: Guarda 2021 election results
 * style="width: 9px" bgcolor=gray align="center" |
 * align="left" colspan="6"|Independent gain from Social Democratic
 * }
 * }

Guimarães
! 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" align="center"|Total ! style="background-color:#E9E9E9" align="center"|±
 * colspan="11" style="text-align:center;" | Guimarães Town Council 2021.svg
 * colspan="11" style="text-align:center;" | Guimarães Town Council 2021.svg
 * - style="background-color:#E9E9E9"
 * 43,684||48.06||3.5||7||1
 * style="width: 9px" bgcolor= align="center" |
 * align=left|Social Democratic / People's
 * 31,069||34.18||3.7||4||1
 * 5,028||5.53||0.2||0||0
 * style="width: 9px" bgcolor=#202056 align="center" |
 * align=left|CHEGA
 * 2,977||3.28||N/A||0||N/A
 * 2,256||2.48||0.1||0||0
 * style="width: 9px" bgcolor=#00ADEF align="center" |
 * align=left|Liberal Initiative
 * 1,619||1.78||N/A||0||N/A
 * 1,151||1.27||N/A||0||N/A
 * colspan=2 width="330" align=left style="background-color:#E9E9E9"|Total valid
 * width="50" align="right" style="background-color:#E9E9E9"|87,784
 * width="40" align="right" style="background-color:#E9E9E9"|96.58
 * width="40" align="right" style="background-color:#E9E9E9"|0.5
 * width="40" align="right" style="background-color:#E9E9E9"|11
 * width="40" align="right" style="background-color:#E9E9E9"|0
 * colspan=2|Blank ballots
 * 2,258||2.48||0.5||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 847||0.93||0.1
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|90,889
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 142,954||63.58||3.2
 * colspan=11 align=left | Source: Guimarães 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Socialist hold
 * }
 * 2,258||2.48||0.5||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 847||0.93||0.1
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|90,889
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 142,954||63.58||3.2
 * colspan=11 align=left | Source: Guimarães 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Socialist hold
 * }
 * colspan=11 align=left | Source: Guimarães 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Socialist hold
 * }
 * }

Leiria
! 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" align="center"|Total ! style="background-color:#E9E9E9" align="center"|±
 * colspan="11" style="text-align:center;" | Leiria Town Council 2021.svg
 * colspan="11" style="text-align:center;" | Leiria Town Council 2021.svg
 * - style="background-color:#E9E9E9"
 * 31,658||52.47||2.0||8||0
 * 13,502||22.38||4.6||3||0
 * style="width: 9px" bgcolor=#202056 align="center" |
 * align=left|CHEGA
 * 3,424||5.67||N/A||0||N/A
 * style="width: 9px" bgcolor=#0093DD align="center" |
 * align=left|People's / Earth
 * 2,555||4.23||0.8||0||0
 * 1,525||2.53||0.1||0||0
 * 1,455||2.41||0.3||0||0
 * style="width: 9px" bgcolor=#00ADEF align="center" |
 * align=left|Liberal Initiative
 * 1,440||2.39||N/A||0||N/A
 * 1,103||1.83||0.4||0||0
 * 401||0.61||N/A||0||N/A
 * colspan=2 width="330" align=left style="background-color:#E9E9E9"|Total valid
 * width="50" align="right" style="background-color:#E9E9E9"|57,063
 * width="40" align="right" style="background-color:#E9E9E9"|94.57
 * width="40" align="right" style="background-color:#E9E9E9"|0.6
 * width="40" align="right" style="background-color:#E9E9E9"|11
 * width="40" align="right" style="background-color:#E9E9E9"|0
 * colspan=2|Blank ballots
 * 2,134||3.54||0.1||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 1,462||1.89||0.4
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|60,338
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 113,419||53.20||1.4
 * colspan=11 align=left | Source: Leiria 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Socialist hold
 * }
 * width="40" align="right" style="background-color:#E9E9E9"|11
 * width="40" align="right" style="background-color:#E9E9E9"|0
 * colspan=2|Blank ballots
 * 2,134||3.54||0.1||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 1,462||1.89||0.4
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|60,338
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 113,419||53.20||1.4
 * colspan=11 align=left | Source: Leiria 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Socialist hold
 * }
 * colspan=11 align=left | Source: Leiria 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Socialist hold
 * }
 * align="left" colspan="6"|Socialist hold
 * }

Lisbon
! 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" align="center"|Total ! style="background-color:#E9E9E9" align="center"|±
 * colspan="11" style="text-align:center;" | Camara Municipal Lisboa 2021.svg
 * colspan="11" style="text-align:center;" | Camara Municipal Lisboa 2021.svg
 * - style="background-color:#E9E9E9"
 * style="width: 9px" bgcolor= align="center" |
 * align=left|PSD / CDS–PP / Alliance / MPT / PPM
 * 83,163||34.26||2.5||7||1
 * style="width: 9px" bgcolor=#FF66FF align="center" |
 * align=left|Socialist / LIVRE
 * 80,869||33.31||8.7||7||1
 * 25,520||10.51||1.0||2||0
 * 15,054||6.20||0.9||1||0
 * style="width: 9px" bgcolor=#202056 align="center" |
 * align=left|CHEGA
 * 10,713||4.41||N/A||0||N/A
 * style="width: 9px" bgcolor=#00ADEF align="center" |
 * align=left|Liberal Initiative
 * 10,238||4.22||N/A||0||N/A
 * 6,625||2.73||0.3||0||0
 * style="width: 9px" bgcolor=Purple align="center" |
 * align=left|Volt Portugal
 * 1,011||0.42||N/A||0||N/A
 * style="width: 8px" bgcolor=gray align="center" |
 * align=left|We are all Lisbon (STL)
 * 864||0.36||N/A||0||N/A
 * style="width: 9px" bgcolor=gold align="center" |
 * align=left|We, the Citizens!
 * 530||0.22||0.4||0||0
 * 339||0.14||0.4||0||0
 * style="width: 9px" bgcolor=black align="center" |
 * align=left|Democratic Republican
 * 319||0.13||0.2||0||0
 * colspan=2 width="330" align=left style="background-color:#E9E9E9"|Total valid
 * width="50" align="right" style="background-color:#E9E9E9"|235,245
 * width="40" align="right" style="background-color:#E9E9E9"|96.91
 * width="40" align="right" style="background-color:#E9E9E9"|1.1
 * width="40" align="right" style="background-color:#E9E9E9"|17
 * width="40" align="right" style="background-color:#E9E9E9"|0
 * colspan=2|Blank ballots
 * 4,818||1.98||0.6||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 2,688||1.11||0.4
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|242,751
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 476,750||50.92||0.2
 * colspan=11 align=left | Source: Lisbon 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|PSD / CDS–PP / Alliance / MPT / PPM gain from Socialist / LIVRE
 * }
 * width="40" align="right" style="background-color:#E9E9E9"|1.1
 * width="40" align="right" style="background-color:#E9E9E9"|17
 * width="40" align="right" style="background-color:#E9E9E9"|0
 * colspan=2|Blank ballots
 * 4,818||1.98||0.6||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 2,688||1.11||0.4
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|242,751
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 476,750||50.92||0.2
 * colspan=11 align=left | Source: Lisbon 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|PSD / CDS–PP / Alliance / MPT / PPM gain from Socialist / LIVRE
 * }
 * colspan=11 align=left | Source: Lisbon 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|PSD / CDS–PP / Alliance / MPT / PPM gain from Socialist / LIVRE
 * }
 * align="left" colspan="6"|PSD / CDS–PP / Alliance / MPT / PPM gain from Socialist / LIVRE
 * }

Loures
! 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" align="center"|Total ! style="background-color:#E9E9E9" align="center"|±
 * colspan="11" style="text-align:center;" | Loures Town Council 2021.svg
 * colspan="11" style="text-align:center;" | Loures Town Council 2021.svg
 * - style="background-color:#E9E9E9"
 * 25,777||31.52||3.3||4||0
 * 23,756||29.05||3.7||4||0
 * 11,451||14.00||7.5||2||1
 * style="width: 9px" bgcolor=#202056 align="center" |
 * align=left|CHEGA
 * 6,884||8.42||N/A||1||N/A
 * 3,170||3.88||0.3||0||0
 * style="width: 9px" bgcolor=#00ADEF align="center" |
 * align=left|Liberal Initiative
 * 2,729||3.34||N/A||0||N/A
 * 1,834||2.24||0.1||0||0
 * style="width: 9px" bgcolor=#0093DD align="center" |
 * align=left|People's
 * 1,251||1.53||1.4||0||0
 * 1,249||1.53||1.0||0||0
 * colspan=2 width="330" align=left style="background-color:#E9E9E9"|Total valid
 * width="50" align="right" style="background-color:#E9E9E9"|78,101
 * width="40" align="right" style="background-color:#E9E9E9"|95.49
 * width="40" align="right" style="background-color:#E9E9E9"|0.2
 * width="40" align="right" style="background-color:#E9E9E9"|11
 * width="40" align="right" style="background-color:#E9E9E9"|0
 * colspan=2|Blank ballots
 * 2,275||2.78||0.0||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 1,410||1.72||0.3
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|81,786
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 169,257||48.32||4.0
 * colspan=11 align=left | Source: Loures 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Socialist gain from Unitary Democratic Coalition
 * }
 * width="40" align="right" style="background-color:#E9E9E9"|11
 * width="40" align="right" style="background-color:#E9E9E9"|0
 * colspan=2|Blank ballots
 * 2,275||2.78||0.0||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 1,410||1.72||0.3
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|81,786
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 169,257||48.32||4.0
 * colspan=11 align=left | Source: Loures 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Socialist gain from Unitary Democratic Coalition
 * }
 * colspan=11 align=left | Source: Loures 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Socialist gain from Unitary Democratic Coalition
 * }
 * align="left" colspan="6"|Socialist gain from Unitary Democratic Coalition
 * }

Maia
! 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" align="center"|Total ! style="background-color:#E9E9E9" align="center"|±
 * colspan="11" style="text-align:center;" | Maia city Town Council 2021.svg
 * colspan="11" style="text-align:center;" | Maia city Town Council 2021.svg
 * - style="background-color:#E9E9E9"
 * style="width: 9px" bgcolor= align="center" |
 * align=left|Social Democratic / People's
 * 24,732||40.42||0.5||6||0
 * 19,740||32.26||4.3||5||0
 * 3,159||5.16||0.6||0||0
 * 2,946||4.81||0.2||0||0
 * style="width: 9px" bgcolor=#202056 align="center" |
 * align=left|CHEGA
 * 2,355||3.85||N/A||0||N/A
 * 2,291||3.74||0.7||0||0
 * style="width: 9px" bgcolor=#00ADEF align="center" |
 * align=left|Liberal Initiative
 * 2,240||3.66||N/A||0||N/A
 * 128||0.21||N/A||0||N/A
 * colspan=2 width="330" align=left style="background-color:#E9E9E9"|Total valid
 * width="50" align="right" style="background-color:#E9E9E9"|57,591
 * width="40" align="right" style="background-color:#E9E9E9"|94.11
 * width="40" align="right" style="background-color:#E9E9E9"|0.9
 * width="40" align="right" style="background-color:#E9E9E9"|11
 * width="40" align="right" style="background-color:#E9E9E9"|0
 * colspan=2|Blank ballots
 * 2,425||3.96||0.4||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 1,178||1.93||0.5
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|61,194
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 116,981||52.31||7.3
 * colspan=11 align=left | Source: Maia 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Social Democratic / People's hold
 * }
 * colspan=2|Blank ballots
 * 2,425||3.96||0.4||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 1,178||1.93||0.5
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|61,194
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 116,981||52.31||7.3
 * colspan=11 align=left | Source: Maia 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Social Democratic / People's hold
 * }
 * colspan=11 align=left | Source: Maia 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Social Democratic / People's hold
 * }
 * align="left" colspan="6"|Social Democratic / People's hold
 * }

Matosinhos
! 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" align="center"|Total ! style="background-color:#E9E9E9" align="center"|±
 * colspan="11" style="text-align:center;" | Matosinhos Town Council 2021.svg
 * colspan="11" style="text-align:center;" | Matosinhos Town Council 2021.svg
 * - style="background-color:#E9E9E9"
 * 30,373||43.67||7.3||7||2
 * style="width: 9px" bgcolor= align="center" |
 * align=left|Social Democratic / People's
 * 12,015||17.25||5.4||2||1
 * style="width: 9px" bgcolor=gray align="center" |
 * align=left|ANTÓNIO PARADA SIM!
 * 6,873||9.87||5.3||1||1
 * 4,580||6.58||0.1||1||0
 * 3,938||5.66||1.1||0||0
 * style="width: 9px" bgcolor=#00ADEF align="center" |
 * align=left|Liberal Initiative
 * 3,271||4.70||N/A||0||N/A
 * style="width: 9px" bgcolor=#202056 align="center" |
 * align=left|CHEGA
 * 2,646||3.80||N/A||0||N/A
 * 1,885||2.71||0.5||0||0
 * style="width: 9px" bgcolor=gray align="center" |
 * align=left|Independent Matosinhos (MI)
 * 650||0.93||N/A||0||N/A
 * colspan=2 width="330" align=left style="background-color:#E9E9E9"|Total valid
 * width="50" align="right" style="background-color:#E9E9E9"|66,231
 * width="40" align="right" style="background-color:#E9E9E9"|95.11
 * width="40" align="right" style="background-color:#E9E9E9"|1.1
 * width="40" align="right" style="background-color:#E9E9E9"|11
 * width="40" align="right" style="background-color:#E9E9E9"|0
 * colspan=2|Blank ballots
 * 2,250||3.23||0.4||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 1,155||1.66||0.7
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|69,636
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 151,342||46.01||6.9
 * colspan=11 align=left | Source: Matosinhos 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Socialist hold
 * }
 * colspan=2|Blank ballots
 * 2,250||3.23||0.4||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 1,155||1.66||0.7
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|69,636
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 151,342||46.01||6.9
 * colspan=11 align=left | Source: Matosinhos 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Socialist hold
 * }
 * colspan=11 align=left | Source: Matosinhos 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Socialist hold
 * }
 * align="left" colspan="6"|Socialist hold
 * }

Odivelas
! 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" align="center"|Total ! style="background-color:#E9E9E9" align="center"|±
 * colspan="11" style="text-align:center;" | Odivelas Town Council 2021.svg
 * colspan="11" style="text-align:center;" | Odivelas Town Council 2021.svg
 * - style="background-color:#E9E9E9"
 * 24,693||44.84||0.3||6||0
 * style="width: 9px" bgcolor= align="center" |
 * align=left|PSD / CDS–PP / Alliance / MPT / PDR / PPM / RIR
 * 11,083||20.13||1.6||3||0
 * 5,965||10.83||4.0||1||1
 * style="width: 9px" bgcolor=#202056 align="center" |
 * align=left|CHEGA
 * 4,795||8.71||N/A||1||N/A
 * 2,605||4.73||1.4||0||0
 * 1,758||3.19||0.2||0||0
 * style="width: 9px" bgcolor=#00ADEF align="center" |
 * align=left|Liberal Initiative
 * 1,684||3.06||N/A||0||N/A
 * colspan=2 width="330" align=left style="background-color:#E9E9E9"|Total valid
 * width="50" align="right" style="background-color:#E9E9E9"|52,583
 * width="40" align="right" style="background-color:#E9E9E9"|95.49
 * width="40" align="right" style="background-color:#E9E9E9"|1.3
 * width="40" align="right" style="background-color:#E9E9E9"|11
 * width="40" align="right" style="background-color:#E9E9E9"|0
 * colspan=2|Blank ballots
 * 1,449||2.63||0.7||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 1,037||1.88||0.6
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|55,069
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 126,833||43.42||3.3
 * colspan=11 align=left | Source: Odivelas 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Socialist hold
 * }
 * 1,449||2.63||0.7||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 1,037||1.88||0.6
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|55,069
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 126,833||43.42||3.3
 * colspan=11 align=left | Source: Odivelas 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Socialist hold
 * }
 * colspan=11 align=left | Source: Odivelas 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Socialist hold
 * }
 * }

Oeiras
! 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" align="center"|Total ! style="background-color:#E9E9E9" align="center"|±
 * colspan="11" style="text-align:center;" | Oeiras Town Council 2021.svg
 * colspan="11" style="text-align:center;" | Oeiras Town Council 2021.svg
 * - style="background-color:#E9E9E9"
 * style="width: 9px" bgcolor=gray align="center" |
 * align=left|Isaltino Inovate Oeiras (IN-OV)
 * 38,776||50.86||9.2||8||2
 * 8,021||10.52||2.9||1||0
 * style="width: 9px" bgcolor= align="center" |
 * align=left|Social Democratic / Earth
 * 6,032||7.91||N/A||1||N/A
 * style="width: 9px" bgcolor=#8B0000 align="center" |
 * align=left|Left Bloc / LIVRE / Volt
 * 5,539||7.25||3.5||1||1
 * 3,994||5.24||2.6||0||1
 * style="width: 9px" bgcolor=#00ADEF align="center" |
 * align=left|Liberal Initiative
 * 3,084||4.05||N/A||0||N/A
 * style="width: 9px" bgcolor=#202056 align="center" |
 * align=left|CHEGA
 * 2,827||3.71||N/A||0||N/A
 * 2,249||2.95||0.5||0||0
 * 1,319||1.73||N/A||0||N/A
 * style="width: 9px" bgcolor=#6AD1E3 align="center" |
 * align=left|Alliance / Democratic Republican
 * 423||0.55||N/A||0||N/A
 * colspan=2 width="330" align=left style="background-color:#E9E9E9"|Total valid
 * width="50" align="right" style="background-color:#E9E9E9"|72,264
 * width="40" align="right" style="background-color:#E9E9E9"|94.78
 * width="40" align="right" style="background-color:#E9E9E9"|0.0
 * width="40" align="right" style="background-color:#E9E9E9"|11
 * width="40" align="right" style="background-color:#E9E9E9"|0
 * colspan=2|Blank ballots
 * 2,561||3.36||0.0||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 1,417||1.86||0.0
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|76,242
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 147,343||51.74||4.0
 * colspan=11 align=left | Source: Oeiras 2021 election results
 * style="width: 9px" bgcolor=gray align="center" |
 * align="left" colspan="6"|Independent hold
 * }
 * width="40" align="right" style="background-color:#E9E9E9"|0
 * colspan=2|Blank ballots
 * 2,561||3.36||0.0||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 1,417||1.86||0.0
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|76,242
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 147,343||51.74||4.0
 * colspan=11 align=left | Source: Oeiras 2021 election results
 * style="width: 9px" bgcolor=gray align="center" |
 * align="left" colspan="6"|Independent hold
 * }
 * colspan=11 align=left | Source: Oeiras 2021 election results
 * style="width: 9px" bgcolor=gray align="center" |
 * align="left" colspan="6"|Independent hold
 * }
 * align="left" colspan="6"|Independent hold
 * }

Ponta Delgada
! 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" align="center"|Total ! style="background-color:#E9E9E9" align="center"|±
 * colspan="11" style="text-align:center;" | Ponta Delgada Town Council 2021.svg
 * colspan="11" style="text-align:center;" | Ponta Delgada Town Council 2021.svg
 * - style="background-color:#E9E9E9"
 * 14,059||48.76||2.5||5||0
 * 10,763||37.33||1.8||4||0
 * 789||2.74||0.6||0||0
 * style="width: 9px" bgcolor=#00ADEF align="center" |
 * align=left|Liberal Initiative
 * 782||2.71||N/A||0||N/A
 * 586||2.03||0.2||0||0
 * style="width: 9px" bgcolor=#202056 align="center" |
 * align=left|CHEGA
 * 544||1.92||N/A||0||N/A
 * 334||1.19||0.1||0||0
 * colspan=2 width="330" align=left style="background-color:#E9E9E9"|Total valid
 * width="50" align="right" style="background-color:#E9E9E9"|27,877
 * width="40" align="right" style="background-color:#E9E9E9"|96.68
 * width="40" align="right" style="background-color:#E9E9E9"|0.5
 * width="40" align="right" style="background-color:#E9E9E9"|9
 * width="40" align="right" style="background-color:#E9E9E9"|0
 * colspan=2|Blank ballots
 * 659||2.29||0.7||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 298||1.03||0.2
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|28,834
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 65,200||44.22||1.5
 * colspan=11 align=left | Source: Ponta Delgada 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Social Democratic hold
 * }
 * colspan=2|Blank ballots
 * 659||2.29||0.7||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 298||1.03||0.2
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|28,834
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 65,200||44.22||1.5
 * colspan=11 align=left | Source: Ponta Delgada 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Social Democratic hold
 * }
 * colspan=11 align=left | Source: Ponta Delgada 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Social Democratic hold
 * }
 * }

Portalegre
! 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" align="center"|Total ! style="background-color:#E9E9E9" align="center"|±
 * colspan="11" style="text-align:center;" | Portalegre Town Council 2021.svg
 * colspan="11" style="text-align:center;" | Portalegre Town Council 2021.svg
 * - style="background-color:#E9E9E9"
 * style="width: 9px" bgcolor= align="center" |
 * align=left|Social Democratic / People's
 * 4,993||38.39||21.0||3||2
 * 3,297||25.35||3.5||2||0
 * style="width: 9px" bgcolor=gray align="center" |
 * align=left|Free Independent Candidacy for Portalegre (CLIP)
 * 3,267||25.12||6.5||2||1
 * 853||6.56||11.7||0||1
 * style="width: 9px" bgcolor=#202056 align="center" |
 * align=left|CHEGA
 * 253||1.95||N/A||0||N/A
 * 53||0.41||0.5||0||0
 * colspan=2 width="330" align=left style="background-color:#E9E9E9"|Total valid
 * width="50" align="right" style="background-color:#E9E9E9"|12,716
 * width="40" align="right" style="background-color:#E9E9E9"|97.78
 * width="40" align="right" style="background-color:#E9E9E9"|0.8
 * width="40" align="right" style="background-color:#E9E9E9"|7
 * width="40" align="right" style="background-color:#E9E9E9"|0
 * colspan=2|Blank ballots
 * 159||1.22||0.6||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 130||1.00||0.2
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|13,005
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 20,033||64.92||1.7
 * colspan=11 align=left | Source: Portalegre 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Social Democratic / People's gain from Independent
 * }
 * colspan=2|Invalid ballots
 * 130||1.00||0.2
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|13,005
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 20,033||64.92||1.7
 * colspan=11 align=left | Source: Portalegre 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Social Democratic / People's gain from Independent
 * }
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Social Democratic / People's gain from Independent
 * }
 * }

Porto
! 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" align="center"|Total ! style="background-color:#E9E9E9" align="center"|±
 * colspan="11" style="text-align:center;" | Town Council Porto 2021.svg
 * colspan="11" style="text-align:center;" | Town Council Porto 2021.svg
 * - style="background-color:#E9E9E9"
 * style="width: 9px" bgcolor=gray align="center" |
 * align=left|Here there's Porto. Rui Moreira (RM)
 * 41,167||40.72||3.8||6||1
 * 18,201||18.00||10.5||3||1
 * style="width: 9px" bgcolor= align="center" |
 * align=left|Social Democratic
 * 17,426||17.24||6.9||2||1
 * 7,609||7.53||1.6||1||0
 * 6,323||6.25||0.9||1||1
 * style="width: 9px" bgcolor=#202056 align="center" |
 * align=left|CHEGA
 * 2,980||2.95||N/A||0||N/A
 * 2,819||2.79||0.9||0||0
 * 462||0.46||N/A||0||N/A
 * style="width: 9px" bgcolor=Purple align="center" |
 * align=left|Volt Portugal
 * 423||0.42||N/A||0||N/A
 * 212||0.21||N/A||0||N/A
 * 80||0.08||N/A||0||N/A
 * colspan=2 width="330" align=left style="background-color:#E9E9E9"|Total valid
 * width="50" align="right" style="background-color:#E9E9E9"|97,702
 * width="40" align="right" style="background-color:#E9E9E9"|96.64
 * width="40" align="right" style="background-color:#E9E9E9"|0.4
 * width="40" align="right" style="background-color:#E9E9E9"|13
 * width="40" align="right" style="background-color:#E9E9E9"|0
 * colspan=2|Blank ballots
 * 2,251||2.23||0.6||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 1,148||1.14||0.3
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|101,101
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 207,129||48.81||4.9
 * colspan=11 align=left | Source: Porto 2021 election results
 * style="width: 9px" bgcolor=gray align="center" |
 * align="left" colspan="6"|Independent hold
 * }
 * width="50" align="right" style="background-color:#E9E9E9"|97,702
 * width="40" align="right" style="background-color:#E9E9E9"|96.64
 * width="40" align="right" style="background-color:#E9E9E9"|0.4
 * width="40" align="right" style="background-color:#E9E9E9"|13
 * width="40" align="right" style="background-color:#E9E9E9"|0
 * colspan=2|Blank ballots
 * 2,251||2.23||0.6||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 1,148||1.14||0.3
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|101,101
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 207,129||48.81||4.9
 * colspan=11 align=left | Source: Porto 2021 election results
 * style="width: 9px" bgcolor=gray align="center" |
 * align="left" colspan="6"|Independent hold
 * }
 * colspan=11 align=left | Source: Porto 2021 election results
 * style="width: 9px" bgcolor=gray align="center" |
 * align="left" colspan="6"|Independent hold
 * }
 * align="left" colspan="6"|Independent hold
 * }

Santarém
! 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" align="center"|Total ! style="background-color:#E9E9E9" align="center"|±
 * colspan="11" style="text-align:center;" | Santarém Town Council 2021.svg
 * colspan="11" style="text-align:center;" | Santarém Town Council 2021.svg
 * - style="background-color:#E9E9E9"
 * 10,069||37.42||5.8||4||1
 * 8,950||33.26||0.8||4||0
 * style="width: 9px" bgcolor=#202056 align="center" |
 * align=left|CHEGA
 * 2,133||7.93||N/A||1||N/A
 * 1,927||7.16||0.5||0||0
 * 1,132||4.21||0.1||0||0
 * style="width: 9px" bgcolor=#0093DD align="center" |
 * align=left|People's
 * 706||2.62||2.8||0||0
 * style="width: 9px" bgcolor=#00ADEF align="center" |
 * align=left|Liberal Initiative
 * 574||2.13||N/A||0||N/A
 * 306||1.14||N/A||0||N/A
 * colspan=2 width="330" align=left style="background-color:#E9E9E9"|Total valid
 * width="50" align="right" style="background-color:#E9E9E9"|25,797
 * width="40" align="right" style="background-color:#E9E9E9"|95.87
 * width="40" align="right" style="background-color:#E9E9E9"|1.0
 * width="40" align="right" style="background-color:#E9E9E9"|9
 * width="40" align="right" style="background-color:#E9E9E9"|0
 * colspan=2|Blank ballots
 * 746||2.77||0.5||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 366||1.36||0.4
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|26,909
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 50,899||52.87||0.8
 * colspan=11 align=left | Source: Santarém 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Social Democratic hold
 * }
 * colspan=2|Blank ballots
 * 746||2.77||0.5||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 366||1.36||0.4
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|26,909
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 50,899||52.87||0.8
 * colspan=11 align=left | Source: Santarém 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Social Democratic hold
 * }
 * colspan=11 align=left | Source: Santarém 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Social Democratic hold
 * }
 * align="left" colspan="6"|Social Democratic hold
 * }

Santa Maria da Feira
! 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" align="center"|Total ! style="background-color:#E9E9E9" align="center"|±
 * colspan="11" style="text-align:center;" | Santa Maria da Feira Town Council 2021.svg
 * colspan="11" style="text-align:center;" | Santa Maria da Feira Town Council 2021.svg
 * - style="background-color:#E9E9E9"
 * 34,177||48.91||1.6||7||0
 * 21,026||30.09||2.4||4||0
 * 2,596||3.72||0.4||0||0
 * style="width: 9px" bgcolor=#0093DD align="center" |
 * align=left|People's
 * 2,275||3.26||1.0||0||0
 * style="width: 9px" bgcolor=#202056 align="center" |
 * align=left|CHEGA
 * 1,979||2.83||N/A||0||N/A
 * style="width: 9px" bgcolor=#00ADEF align="center" |
 * align=left|Liberal Initiative
 * 1,886||2.70||N/A||0||N/A
 * 1,627||2.33||0.4||0||0
 * 1,029||1.47||N/A||0||N/A
 * colspan=2 width="330" align=left style="background-color:#E9E9E9"|Total valid
 * width="50" align="right" style="background-color:#E9E9E9"|66,595
 * width="40" align="right" style="background-color:#E9E9E9"|95.31
 * width="40" align="right" style="background-color:#E9E9E9"|0.7
 * width="40" align="right" style="background-color:#E9E9E9"|11
 * width="40" align="right" style="background-color:#E9E9E9"|0
 * colspan=2|Blank ballots
 * 2,113||3.02||0.1||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 1,167||1.67||0.6
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|69,875
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 125,645||55.61||1.7
 * colspan=11 align=left | Source: Santa Maria da Feira 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Social Democratic hold
 * }
 * colspan=2|Blank ballots
 * 2,113||3.02||0.1||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 1,167||1.67||0.6
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|69,875
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 125,645||55.61||1.7
 * colspan=11 align=left | Source: Santa Maria da Feira 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Social Democratic hold
 * }
 * colspan=11 align=left | Source: Santa Maria da Feira 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Social Democratic hold
 * }
 * align="left" colspan="6"|Social Democratic hold
 * }

Seixal
! 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" align="center"|Total ! style="background-color:#E9E9E9" align="center"|±
 * colspan="11" style="text-align:center;" | Seixal Town Council 2021.svg
 * colspan="11" style="text-align:center;" | Seixal Town Council 2021.svg
 * - style="background-color:#E9E9E9"
 * 23,485||37.74||1.2||5||0
 * 19,204||30.86||0.5||4||0
 * 5,795||9.31||2.5||1||0
 * style="width: 9px" bgcolor=#202056 align="center" |
 * align=left|CHEGA
 * 5,022||8.07||N/A||1||N/A
 * 2,700||4.34||3.1||0||1
 * 1,713||2.75||1.4||0||0
 * style="width: 9px" bgcolor=#00ADEF align="center" |
 * align=left|Liberal Initiative
 * 1,144||1.84||N/A||0||N/A
 * style="width: 9px" bgcolor=#0093DD align="center" |
 * align=left|CDS–PP / PDR / Alliance / MPT
 * 908||1.46||1.3||0||0
 * colspan=2 width="330" align=left style="background-color:#E9E9E9"|Total valid
 * width="50" align="right" style="background-color:#E9E9E9"|59,971
 * width="40" align="right" style="background-color:#E9E9E9"|96.37
 * width="40" align="right" style="background-color:#E9E9E9"|1.9
 * width="40" align="right" style="background-color:#E9E9E9"|11
 * width="40" align="right" style="background-color:#E9E9E9"|0
 * colspan=2|Blank ballots
 * 1,395||2.24||1.0||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 862||1.39||0.9
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|62,228
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 142,900||43.55||0.3
 * colspan=11 align=left | Source: Seixal 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Unitary Democratic Coalition hold
 * }
 * colspan=2|Blank ballots
 * 1,395||2.24||1.0||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 862||1.39||0.9
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|62,228
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 142,900||43.55||0.3
 * colspan=11 align=left | Source: Seixal 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Unitary Democratic Coalition hold
 * }
 * colspan=11 align=left | Source: Seixal 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Unitary Democratic Coalition hold
 * }
 * align="left" colspan="6"|Unitary Democratic Coalition hold
 * }

Setúbal
! 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" align="center"|Total ! style="background-color:#E9E9E9" align="center"|±
 * colspan="11" style="text-align:center;" | Setúbal Town Council 2021.svg
 * colspan="11" style="text-align:center;" | Setúbal Town Council 2021.svg
 * - style="background-color:#E9E9E9"
 * 15,316||34.40||15.5||5||2
 * 12,316||27.67||5.9||4||1
 * 7,377||16.57||5.6||2||1
 * style="width: 9px" bgcolor=#202056 align="center" |
 * align=left|CHEGA
 * 2,619||5.88||N/A||0||N/A
 * 1,884||4.23||1.0||0||0
 * style="width: 9px" bgcolor=#00ADEF align="center" |
 * align=left|Liberal Initiative
 * 1,035||2.35||N/A||0||N/A
 * 1,009||2.27||0.6||0||0
 * style="width: 9px" bgcolor=#0093DD align="center" |
 * align=left|People's
 * 765||1.72||1.5||0||0
 * style="width: 9px" bgcolor=gold align="center" |
 * align=left|We, the Citizens! / People's Monarchist
 * 328||0.74||N/A||0||N/A
 * style="width: 9px" bgcolor=LightSeaGreen align="center" |
 * align=left|React, Include, Recycle / Democratic Republican
 * 237||0.53||N/A||0||N/A
 * colspan=2 width="330" align=left style="background-color:#E9E9E9"|Total valid
 * width="50" align="right" style="background-color:#E9E9E9"|42,886
 * width="40" align="right" style="background-color:#E9E9E9"|96.33
 * width="40" align="right" style="background-color:#E9E9E9"|0.3
 * width="40" align="right" style="background-color:#E9E9E9"|11
 * width="40" align="right" style="background-color:#E9E9E9"|0
 * colspan=2|Blank ballots
 * 1,052||2.36||0.1||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 580||1.30||0.2
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|44,518
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 105,651||42.14||1.0
 * colspan=11 align=left | Source: Setúbal 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Unitary Democratic Coalition hold
 * }
 * width="40" align="right" style="background-color:#E9E9E9"|11
 * width="40" align="right" style="background-color:#E9E9E9"|0
 * colspan=2|Blank ballots
 * 1,052||2.36||0.1||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 580||1.30||0.2
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|44,518
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 105,651||42.14||1.0
 * colspan=11 align=left | Source: Setúbal 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Unitary Democratic Coalition hold
 * }
 * colspan=11 align=left | Source: Setúbal 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Unitary Democratic Coalition hold
 * }
 * align="left" colspan="6"|Unitary Democratic Coalition hold
 * }

Sintra
! 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" align="center"|Total ! style="background-color:#E9E9E9" align="center"|±
 * colspan="11" style="text-align:center;" | Sintra Town Council 2021.svg
 * colspan="11" style="text-align:center;" | Sintra Town Council 2021.svg
 * - style="background-color:#E9E9E9"
 * 45,724||35.25||7.8||5||1
 * style="width: 9px" bgcolor= align="center" |
 * align=left|PSD / CDS–PP / Alliance / MPT / PDR / PPM / RIR
 * 35,702||27.53||1.5||4||0
 * style="width: 9px" bgcolor=#202056 align="center" |
 * align=left|CHEGA
 * 11,786||9.09||N/A||1||N/A
 * 11,701||9.02||0.4||1||0
 * 7,539||5.81||0.5||0||0
 * 4,214||3.25||0.4||0||0
 * style="width: 9px" bgcolor=gold align="center" |
 * align=left|We, the Citizens!
 * 3,848||2.97||1.9||0||0
 * style="width: 9px" bgcolor=#00ADEF align="center" |
 * align=left|Liberal Initiative
 * 3,475||2.68||N/A||0||N/A
 * colspan=2 width="330" align=left style="background-color:#E9E9E9"|Total valid
 * width="50" align="right" style="background-color:#E9E9E9"|123,989
 * width="40" align="right" style="background-color:#E9E9E9"|95.59
 * width="40" align="right" style="background-color:#E9E9E9"|0.7
 * width="40" align="right" style="background-color:#E9E9E9"|11
 * width="40" align="right" style="background-color:#E9E9E9"|0
 * colspan=2|Blank ballots
 * 3,489||2.69||0.2||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 2,228||1.72||0.5
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|129,706
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 323,280||40.12||2.2
 * colspan=11 align=left | Source: Sintra 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Socialist hold
 * }
 * colspan=2|Blank ballots
 * 3,489||2.69||0.2||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 2,228||1.72||0.5
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|129,706
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 323,280||40.12||2.2
 * colspan=11 align=left | Source: Sintra 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Socialist hold
 * }
 * colspan=11 align=left | Source: Sintra 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Socialist hold
 * }
 * }

Viana do Castelo
! 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" align="center"|Total ! style="background-color:#E9E9E9" align="center"|±
 * colspan="11" style="text-align:center;" | Viana do Castelo Town Council 2021.svg
 * colspan="11" style="text-align:center;" | Viana do Castelo Town Council 2021.svg
 * - style="background-color:#E9E9E9"
 * 20,970||45.05||8.6||5||1
 * style="width: 9px" bgcolor= align="center" |
 * align=left|Social Democratic / People's
 * 11,447||24.59||2.3||3||1
 * 4,673||10.04||1.9||1||0
 * 2,114||4.54||0.8||0||0
 * style="width: 9px" bgcolor=#6AD1E3 align="center" |
 * align=left|Alliance
 * 1,788||3.84||N/A||0||N/A
 * style="width: 9px" bgcolor=#202056 align="center" |
 * align=left|CHEGA
 * 1,605||3.45||N/A||0||N/A
 * style="width: 9px" bgcolor=#00ADEF align="center" |
 * align=left|Liberal Initiative
 * 836||1.80||N/A||0||N/A
 * style="width: 9px" bgcolor=gold align="center" |
 * align=left|We, the Citizens!
 * 472||1.01||N/A||0||N/A
 * colspan=2 width="330" align=left style="background-color:#E9E9E9"|Total valid
 * width="50" align="right" style="background-color:#E9E9E9"|43,905
 * width="40" align="right" style="background-color:#E9E9E9"|94.32
 * width="40" align="right" style="background-color:#E9E9E9"|0.1
 * width="40" align="right" style="background-color:#E9E9E9"|9
 * width="40" align="right" style="background-color:#E9E9E9"|0
 * colspan=2|Blank ballots
 * 1,728||3.71||0.1||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 914||1.96||0.2
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|46,547
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 82,728||56.27||1.1
 * colspan=11 align=left | Source: Viana do Castelo 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Socialist hold
 * }
 * 1,728||3.71||0.1||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 914||1.96||0.2
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|46,547
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 82,728||56.27||1.1
 * colspan=11 align=left | Source: Viana do Castelo 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Socialist hold
 * }
 * colspan=11 align=left | Source: Viana do Castelo 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Socialist hold
 * }
 * }

Vila Franca de Xira
! 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" align="center"|Total ! style="background-color:#E9E9E9" align="center"|±
 * colspan="11" style="text-align:center;" | Vila Franca de Xira Town Council 2021.svg
 * colspan="11" style="text-align:center;" | Vila Franca de Xira Town Council 2021.svg
 * - style="background-color:#E9E9E9"
 * 20,640||39.59||0.5||5||0
 * 11,432||21.93||8.5||3||1
 * style="width: 9px" bgcolor= align="center" |
 * align=left|PSD / CDS–PP / MPT / PPM
 * 7,737||14.84||1.2||2||1
 * style="width: 9px" bgcolor=#202056 align="center" |
 * align=left|CHEGA
 * 4,447||8.53||N/A||1||N/A
 * 3,130||6.00||1.0||0||1
 * 2,018||3.87||0.0||0||0
 * colspan=2 width="330" align=left style="background-color:#E9E9E9"|Total valid
 * width="50" align="right" style="background-color:#E9E9E9"|49,404
 * width="40" align="right" style="background-color:#E9E9E9"|94.77
 * width="40" align="right" style="background-color:#E9E9E9"|0.3
 * width="40" align="right" style="background-color:#E9E9E9"|11
 * width="40" align="right" style="background-color:#E9E9E9"|0
 * colspan=2|Blank ballots
 * 1,849||3.55||0.2||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 877||1.68||0.5
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|52,130
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 113,975||45.74||2.7
 * colspan=11 align=left | Source: Vila Franca de Xira 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Socialist hold
 * }
 * colspan=2|Invalid ballots
 * 877||1.68||0.5
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|52,130
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 113,975||45.74||2.7
 * colspan=11 align=left | Source: Vila Franca de Xira 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Socialist hold
 * }
 * colspan=11 align=left | Source: Vila Franca de Xira 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Socialist hold
 * }
 * }

Vila Nova de Famalicão
! 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" align="center"|Total ! style="background-color:#E9E9E9" align="center"|±
 * colspan="11" style="text-align:center;" | Vila Nova de Famalicão Town Council 2021.svg
 * colspan="11" style="text-align:center;" | Vila Nova de Famalicão Town Council 2021.svg
 * - style="background-color:#E9E9E9"
 * style="width: 9px" bgcolor= align="center" |
 * align=left|Social Democratic / People's
 * 40,143||52.88||14.8||7||1
 * 24,409||32.16||8.6||4||1
 * style="width: 9px" bgcolor=#202056 align="center" |
 * align=left|CHEGA
 * 2,143||2.82||N/A||0||N/A
 * 1,835||2.42||0.5||0||0
 * style="width: 9px" bgcolor=#00ADEF align="center" |
 * align=left|Liberal Initiative
 * 1,762||2.32||N/A||0||N/A
 * 1,423||1.87||0.6||0||0
 * 1,214||1.60||N/A||0||N/A
 * colspan=2 width="330" align=left style="background-color:#E9E9E9"|Total valid
 * width="50" align="right" style="background-color:#E9E9E9"|72,929
 * width="40" align="right" style="background-color:#E9E9E9"|96.07
 * width="40" align="right" style="background-color:#E9E9E9"|0.5
 * width="40" align="right" style="background-color:#E9E9E9"|11
 * width="40" align="right" style="background-color:#E9E9E9"|0
 * colspan=2|Blank ballots
 * 2,074||2.73||0.5||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 906||1.19||0.0
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|75,909
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 119,499||63.52||0.4
 * colspan=11 align=left | Source: Vila Nova de Famalicão 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Social Democratic / People's hold
 * }
 * 2,074||2.73||0.5||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 906||1.19||0.0
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|75,909
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 119,499||63.52||0.4
 * colspan=11 align=left | Source: Vila Nova de Famalicão 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Social Democratic / People's hold
 * }
 * colspan=11 align=left | Source: Vila Nova de Famalicão 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Social Democratic / People's hold
 * }
 * }

Vila Nova de Gaia
! 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" align="center"|Total ! style="background-color:#E9E9E9" align="center"|±
 * colspan="11" style="text-align:center;" | Vila Nova de Gaia Town Council 2021.svg
 * colspan="11" style="text-align:center;" | Vila Nova de Gaia Town Council 2021.svg
 * - style="background-color:#E9E9E9"
 * 73,712||57.79||3.9||9||0
 * style="width: 9px" bgcolor= align="center" |
 * align=left|PSD / CDS–PP / PPM
 * 22,407||17.57||2.7||2||0
 * 6,162||4.83||0.3||0||0
 * 5,886||4.61||0.6||0||0
 * style="width: 9px" bgcolor=#202056 align="center" |
 * align=left|CHEGA
 * 5,368||4.21||N/A||0||N/A
 * style="width: 9px" bgcolor=#00ADEF align="center" |
 * align=left|Liberal Initiative
 * 3,760||2.95||N/A||0||N/A
 * 3,484||2.73||0.1||0||0
 * style="width: 9px" bgcolor=black align="center" |
 * align=left|Democratic Republican / Earth
 * 606||0.48||N/A||0||N/A
 * 582||0.46||N/A||0||N/A
 * colspan=2 width="330" align=left style="background-color:#E9E9E9"|Total valid
 * width="50" align="right" style="background-color:#E9E9E9"|121,967
 * width="40" align="right" style="background-color:#E9E9E9"|95.63
 * width="40" align="right" style="background-color:#E9E9E9"|0.4
 * width="40" align="right" style="background-color:#E9E9E9"|11
 * width="40" align="right" style="background-color:#E9E9E9"|0
 * colspan=2|Blank ballots
 * 3,562||2.79||0.2||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 2,017||1.58||0.1
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|127,546
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 267,468||47.69||4.4
 * colspan=11 align=left | Source: Vila Nova de Gaia 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * colspan="6" align=left| Socialist hold
 * }
 * width="40" align="right" style="background-color:#E9E9E9"|0
 * colspan=2|Blank ballots
 * 3,562||2.79||0.2||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 2,017||1.58||0.1
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|127,546
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 267,468||47.69||4.4
 * colspan=11 align=left | Source: Vila Nova de Gaia 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * colspan="6" align=left| Socialist hold
 * }
 * colspan=11 align=left | Source: Vila Nova de Gaia 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * colspan="6" align=left| Socialist hold
 * }
 * colspan="6" align=left| Socialist hold
 * }

Vila Real
! 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" align="center"|Total ! style="background-color:#E9E9E9" align="center"|±
 * colspan="11" style="text-align:center;" | Vila Real Town Council 2021.svg
 * colspan="11" style="text-align:center;" | Vila Real Town Council 2021.svg
 * - style="background-color:#E9E9E9"
 * 17,472||58.44||6.0||5||2
 * style="width: 9px" bgcolor= align="center" |
 * align=left|Social Democratic / People's / Alliance
 * 8,576||28.68||0.4||2||0
 * style="width: 9px" bgcolor=#202056 align="center" |
 * align=left|CHEGA
 * 1,246||4.17||N/A||0||N/A
 * 802||2.68||1.0||0||0
 * 633||2.12||0.8||0||0
 * colspan=2 width="330" align=left style="background-color:#E9E9E9"|Total valid
 * width="50" align="right" style="background-color:#E9E9E9"|28,729
 * width="40" align="right" style="background-color:#E9E9E9"|96.09
 * width="40" align="right" style="background-color:#E9E9E9"|0.4
 * width="40" align="right" style="background-color:#E9E9E9"|7
 * width="40" align="right" style="background-color:#E9E9E9"|2
 * colspan=2|Blank ballots
 * 717||2.40||0.5||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 452||1.51||0.1
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|29,898
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 49,701||60.16||1.8
 * colspan=11 align=left | Source: Vila Real 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Socialist hold
 * }
 * 452||1.51||0.1
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|29,898
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 49,701||60.16||1.8
 * colspan=11 align=left | Source: Vila Real 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Socialist hold
 * }
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Socialist hold
 * }
 * }

Viseu
! 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" align="center"|Total ! style="background-color:#E9E9E9" align="center"|±
 * colspan="11" style="text-align:center;" | Viseu Town Council 2021.svg
 * colspan="11" style="text-align:center;" | Viseu Town Council 2021.svg
 * - style="background-color:#E9E9E9"
 * 24,363||46.68||5.1||5||1
 * 19,968||38.26||11.8||4||1
 * style="width: 9px" bgcolor=#202056 align="center" |
 * align=left|CHEGA
 * 1,542||2.95||N/A||0||N/A
 * style="width: 9px" bgcolor=#00ADEF align="center" |
 * align=left|Liberal Initiative
 * 1,147||2.20||N/A||0||N/A
 * style="width: 9px" bgcolor=#0093DD align="center" |
 * align=left|People's
 * 1,054||2.02||3.1||0||0
 * 1,051||2.01||2.8||0||0
 * 657||1.26||0.9||0||0
 * 609||1.17||2.7||0||0
 * colspan=2 width="330" align=left style="background-color:#E9E9E9"|Total valid
 * width="50" align="right" style="background-color:#E9E9E9"|50,391
 * width="40" align="right" style="background-color:#E9E9E9"|96.55
 * width="40" align="right" style="background-color:#E9E9E9"|2.4
 * width="40" align="right" style="background-color:#E9E9E9"|9
 * width="40" align="right" style="background-color:#E9E9E9"|0
 * colspan=2|Blank ballots
 * 1,135||2.17||1.4||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 663||1.27||1.0
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|52,189
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 92,444||56.45||5.7
 * colspan=11 align=left | Source: Viseu 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Social Democratic hold
 * }
 * colspan=2|Blank ballots
 * 1,135||2.17||1.4||colspan=3 rowspan=4|
 * colspan=2|Invalid ballots
 * 663||1.27||1.0
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="50" align="right" style="background-color:#E9E9E9"|52,189
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 92,444||56.45||5.7
 * colspan=11 align=left | Source: Viseu 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Social Democratic hold
 * }
 * colspan=11 align=left | Source: Viseu 2021 election results
 * style="width: 9px" bgcolor= align="center" |
 * align="left" colspan="6"|Social Democratic hold
 * }
 * align="left" colspan="6"|Social Democratic hold
 * }