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.

Results by City Almada

| colspan="11" style="text-align:center;" | |- ! rowspan="2" colspan=2 style="background-color:#E9E9E9" align=left|Parties ! rowspan="2" style="background-color:#E9E9E9" align=right|Votes ! rowspan="2" style="background-color:#E9E9E9" align=right|% ! rowspan="2" style="background-color:#E9E9E9" align=right|±pp swing ! colspan="2" style="background-color:#E9E9E9" align="center"|Councillors |- style="background-color:#E9E9E9" ! style="background-color:#E9E9E9" align="center"|Total ! style="background-color:#E9E9E9" align="center"|±

|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||||0||

|1,617||2.29||1.6||0||0 |- |style="width: 9px" bgcolor=#00ADEF align="center" | |align=left|Liberal Initiative |1,391||1.97||||0|| |- |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

Amadora

| colspan="11" style="text-align:center;" | |- ! rowspan="2" colspan=2 style="background-color:#E9E9E9" align=left|Parties ! rowspan="2" style="background-color:#E9E9E9" align=right|Votes ! rowspan="2" style="background-color:#E9E9E9" align=right|% ! rowspan="2" style="background-color:#E9E9E9" align=right|±pp swing ! colspan="2" style="background-color:#E9E9E9" align="center"|Councillors |- style="background-color:#E9E9E9" ! style="background-color:#E9E9E9" align="center"|Total ! style="background-color:#E9E9E9" align="center"|±

|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||||0||

|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||||0|| |- |style="width: 9px" bgcolor=#005FAD align="center" | |align=left|People's Monarchist / React, Include, Recycle |377||0.61||||0|| |- |style="width: 9px" bgcolor=crimson align="center" | |align=left|Socialist Alternative Movement |227||0.37||||0||

|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

Aveiro

| colspan="11" style="text-align:center;" | |- ! rowspan="2" colspan=2 style="background-color:#E9E9E9" align=left|Parties ! rowspan="2" style="background-color:#E9E9E9" align=right|Votes ! rowspan="2" style="background-color:#E9E9E9" align=right|% ! rowspan="2" style="background-color:#E9E9E9" align=right|±pp swing ! colspan="2" style="background-color:#E9E9E9" align="center"|Councillors |- style="background-color:#E9E9E9" ! style="background-color:#E9E9E9" align="center"|Total ! style="background-color:#E9E9E9" align="center"|± |- |style="width: 9px" bgcolor= 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||||0||

|1,144||3.34||0.7||0||0 |- |style="width: 9px" bgcolor=#00ADEF align="center" | |align=left|Liberal Initiative |790||2.31||||0|| |- |style="width: 9px" bgcolor=gold align="center" | |align=left|We, the Citizens! |358||1.05||||0||

|92||0.27||||0||

|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

Barcelos

| colspan="11" style="text-align:center;" | |- ! rowspan="2" colspan=2 style="background-color:#E9E9E9" align=left|Parties ! rowspan="2" style="background-color:#E9E9E9" align=right|Votes ! rowspan="2" style="background-color:#E9E9E9" align=right|% ! rowspan="2" style="background-color:#E9E9E9" align=right|±pp swing ! colspan="2" style="background-color:#E9E9E9" align="center"|Councillors |- style="background-color:#E9E9E9" ! style="background-color:#E9E9E9" align="center"|Total ! style="background-color:#E9E9E9" align="center"|± |- |style="width: 9px" bgcolor= 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||||0|| |- |style="width: 9px" bgcolor=#202056 align="center" | |align=left|Chega |2,780||3.74||||0||

|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

Beja

| colspan="11" style="text-align:center;" | |- ! rowspan="2" colspan=2 style="background-color:#E9E9E9" align=left|Parties ! rowspan="2" style="background-color:#E9E9E9" align=right|Votes ! rowspan="2" style="background-color:#E9E9E9" align=right|% ! rowspan="2" style="background-color:#E9E9E9" align=right|±pp swing ! colspan="2" style="background-color:#E9E9E9" align="center"|Councillors |- style="background-color:#E9E9E9" ! style="background-color:#E9E9E9" align="center"|Total ! style="background-color:#E9E9E9" align="center"|±

|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||||0||

|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

Braga

| colspan="11" style="text-align:center;" | |- ! rowspan="2" colspan=2 style="background-color:#E9E9E9" align=left|Parties ! rowspan="2" style="background-color:#E9E9E9" align=right|Votes ! rowspan="2" style="background-color:#E9E9E9" align=right|% ! rowspan="2" style="background-color:#E9E9E9" align=right|±pp swing ! colspan="2" style="background-color:#E9E9E9" align="center"|Councillors |- style="background-color:#E9E9E9" ! style="background-color:#E9E9E9" align="center"|Total ! style="background-color:#E9E9E9" align="center"|± |- |style="width: 9px" bgcolor= 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||||0||

|3,974||4.20||0.6||0||0 |- |style="width: 9px" bgcolor=#00ADEF align="center" | |align=left|Liberal Initiative |2,766||2.92||||0||

|2,593||2.74||||0|| |- |style="width: 9px" bgcolor= align="center" | |align=left|LIVRE |573||0.61||||0||

|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