2020–21 Primeira Liga

{{Short description|87th season of top-tier Portuguese football}}

{{Use dmy dates|date=May 2020}}

{{Infobox football league season

| image = Liga NOS logo.png

| season = 2020–21

| dates = 18 September 2020 – 19 May 2021

| competition = Primeira Liga

| relegated = Rio Ave
Farense
Nacional

| continentalcup1 = Champions League

| continentalcup1 qualifiers = Sporting CP
Porto
Benfica

| continentalcup2 = Europa League

| continentalcup2 qualifiers = Braga

| continentalcup3 = Europa Conference League

| continentalcup3 qualifiers = Paços de Ferreira
Santa Clara

| matches = 306

| total goals = 739

| best player = Sebastián Coates (Sporting CP)

| league topscorer = Pedro Gonçalves
(23 goals)

| best goalkeeper = Antonio Adán (19 clean sheets)

| biggest home win = {{nowrap|Sporting CP 4–0 Tondela}}
{{small|(1 November 2020)}}
{{nowrap|Santa Clara 5–1 Nacional}}
{{small|(11 April 2021)}}
{{nowrap|Porto 5–1 Farense}}
{{small|(10 May 2021)}}
{{nowrap|Porto 4–0 Belenenses SAD}}
{{small|(19 May 2021)}}
{{nowrap|Sporting CP 5–1 Marítimo}}
{{small|(19 May 2021)}}
{{nowrap|Santa Clara 4–0 Farense}}
{{small|(19 May 2021)}}

| biggest away win = {{nowrap|Boavista 0–5 Porto}}
{{small|(26 September 2020)}}
Paços de Ferreira 0–5 Benfica
{{small|(10 April 2021)}}

| highest scoring = {{nowrap|Porto 4–3 Tondela}}
{{small|(5 December 2020)}}
Benfica 4–3 Sporting CP
{{small|(15 May 2021)}}

| longest wins = 7 matches
Porto

| longest unbeaten = 32 matches (record)
Sporting CP

| longest winless = 10 matches
Nacional

| longest losses = 10 matches
Nacional

| highest attendance = 932
{{nowrap|Santa Clara 1–2 Sporting CP}}
{{small|(24 October 2020)}}{{refn|group=note|Due to the COVID-19 pandemic in Portugal, the matches that were not played behind closed doors, were allowed to be played with limited attendance.}}

| lowest attendance = 0{{refn|group=note|All league matches played were played behind closed doors without any spectators due to the COVID-19 pandemic in Portugal, with the exception being four Santa Clara's home matches, Tondela against Portimonense and Farense against Rio Ave}}

| attendance =

| average attendance =

| prevseason = 2019–20

| nextseason = 2021–22

| winners = Sporting CP
19th title

}}

The 2020–21 Primeira Liga (also known as Liga NOS for sponsorship reasons) was the 87th season of the Primeira Liga, the top professional league for Portuguese association football clubs. The season started later than usual, on 18 September 2020, due to the delayed end of the previous season caused by the COVID-19 pandemic, and it concluded on 19 May 2021.

This was the fourth Primeira Liga season to use video assistant referee (VAR). As was the case at the end of the previous season, there were limited or no attendance in the stadiums besides each team's staff and personnel.

Porto were the defending champions. Nacional and Farense were promoted from the second-tier 2019–20 LigaPro by decision of the Liga Portuguesa de Futebol Profissional, after the suspension of the 2019–20 LigaPro due to the COVID-19 pandemic in Portugal. They replaced Desportivo das Aves and Vitória de Setúbal, who were relegated to the 2020–21 Campeonato de Portugal.

On 11 May 2021, Sporting CP secured a 19th title after a 1–0 home win against Boavista, their first title since the 2001–02 season. It was also the first title since that season not being won by either Benfica or Porto.{{cite news|url=https://edition.cnn.com/2021/05/12/football/sporting-lisbon-title-win-covid-19-cmd-spt-intl/index.html|title=Sporting Lisbon's bittersweet title win after 19 years of hurt|last=Cotovio|first=Vasco|date=12 May 2021|publisher=CNN|access-date=7 April 2022}}

Since Portugal ascended from seventh to sixth place in the UEFA association coefficient rankings at the end of 2019–20 season, the three best-ranked teams could qualify for the UEFA Champions League (the champions and runners-up entered directly into the group stage, and the third placed team entered the third qualifying round). The fourth and fifth-placed teams would qualified respectively to the UEFA Europa Conference League play-off and third qualifying rounds.{{Cite web |date=2019-10-23 |title=UEFA Coefficient Rankings: Portugal overtake Russia |url=https://proxima-jornada.com/2019/10/23/uefa-coefficient-rankings-portugal-overtake-russia/ |access-date=2023-06-05 |website=PRÓXIMA JORNADA |language=en-US}}

Effects of the COVID-19 pandemic

Due to the COVID-19 pandemic in Portugal, since March 2020, in contrast with various European leagues, the Primeira Liga began playing matches behind closed doors. On 13 September, Sporting confirmed that three players had tested positive for coronavirus, leading their pre-season match against Napoli to be cancelled due to the orders of the Portuguese Ministry of Health.{{Cite web|url=https://www.noticiasaominuto.com/desporto/1583027/casos-de-covid-19-obrigam-sporting-a-cancelar-jogo-com-o-napoli|title = Casos de Covid-19 obrigam Sporting a cancelar jogo com o Napoli|date = 13 September 2020}} The following day, Sporting confirmed that four players and a member of their staff had tested positive for coronavirus.{{Cite web|url=https://expresso.pt/tribuna|title=Tribuna|website=Expresso}} Meanwhile, Gil Vicente confirmed that fifteen players had tested positive for coronavirus, leading also their pre-season match against Vitória de Guimarães to be cancelled.{{Cite web|url=https://www.publico.pt/2020/09/13/desporto/noticia/gil-vicente-15-casos-covid19-1931458|title=Gil Vicente com 15 casos de covid-19 no plantel. Quarentena obrigatória decretada|first=Miguel|last=Dantas|website=PÚBLICO}} Three days later, Sporting confirmed that their manager Ruben Amorim and another player tested positive for coronavirus, with both going into self-isolation.{{Cite web|url=http://www.record.pt/futebol/futebol-nacional/liga-nos/sporting/amp/noticia-record-ruben-amorim-testa-positivo-a-covid-19|title = Notícia Record: Rúben Amorim testa positivo à Covid-19 - Sporting - Jornal Record}} On 17 September, it was announced that the Gil Vicente and Sporting fixture on matchday 1 would be postponed, following direct orders from the Portuguese Ministry of Health, after it was confirmed that Gil Vicente had four more positive cases of coronavirus.{{Cite web|url=https://observador.pt/2020/09/17/sporting-gil-vicente-tera-sido-adiado-leoes-tem-10-infetados-equipa-de-barcelos-tem-15-casos-decisao-foi-tomada-pela-ars-norte/amp/|title=Sporting-Gil Vicente foi adiado: leões têm 10 infetados, equipa de Barcelos tem 19 casos. Decisão foi tomada pela ARS Norte – Observador|website=observador.pt}}

On 3 October, Santa Clara faced Gil Vicente on matchday 3 at the Estádio de São Miguel, in Ponta Delgada, Azores, in a match, which was the first one to allow spectators in Portugal, with the stadium being limited to 10% of its capacity (1,000 spectators).{{Cite web|url=https://zap.aeiou.pt/publico-voltou-estadios-acores-350948|title = Balanço "extremamente positivo". Público voltou aos estádios nos Açores|date = 4 October 2020}} Ten days later, it was announced that Paços de Ferreira's manager Pepa had tested positive for COVID-19, leading him and his staff being placed in quarantine as a preventive measure, forcing him to miss Paços de Ferreira's match against Santa Clara on October 18 at matchday 4.{{Cite web|url=https://www.record.pt/futebol/futebol-nacional/liga-bwin/p--ferreira/detalhe/pepa-infetado-com-covid-19|title=Pepa infetado com Covid-19|website=www.record.pt}}

On matchday 5, played between 23 and 26 October, there were three matches in which spectatores were allowed: Tondela against Portimonense at Estádio João Cardoso, Santa Clara against Sporting at the Estádio de São Miguel (with spectators being allowed for the second consecutive match) and Farense against Rio Ave at Estádio Algarve, where Farense played their first three home matches, instead of their regular home stadium Estádio de São Luís, due to a turf change.

Like the match against Gil Vicente, Santa Clara match was played with the stadium capacity limited to 10%,{{Cite web|url=https://desporto.sapo.pt/futebol/primeira-liga/artigos/covid-19-confirmada-a-presenca-de-publico-no-santa-clara-sporting|title=Covid-19: Confirmada a presença de público no Santa Clara–Sporting|website=SAPO Desporto}} as the other two matches were limited to 15% (approximately 750 and 4,500 spectators in Estádio João Cardoso and Estádio Algarve, respectively).{{Cite web|url=https://maisfutebol.iol.pt/liga/adeptos/tondela-portimonense-e-farense-rio-ave-vao-ter-publico|title = Tondela-Portimonense e Farense-Rio Ave vão ter público}}

Santa Clara announced on February 20 that spectators will be allowed in Estádio de São Miguel, for the third time this season, in the match against Paços de Ferreira on matchday 21, played one week later on 27 February. This time, one third of the stadium's maximum capacity was allowed.{{Cite web|url=https://www.ligaportugal.pt/pt/epocas/20202021/noticias/geral/noticias/nota-a-imprensa-sobre-regresso-do-publico-no-santa-clara-fc-p-ferreira?bck=L3B0L2hvbWVwYWdlLw|title = Nota à Imprensa sobre regresso do público no Santa Clara - FC P. Ferreira}}

Teams

Eighteen teams competed in the league – the top sixteen teams from the previous season and two teams promoted from the LigaPro. Nacional and Farense were promoted on 5 May 2020 by decision of the Liga Portuguesa de Futebol Profissional, after the suspension of the 2019–20 LigaPro due to the COVID-19 pandemic in Portugal. This decision was made based on UEFA's recommendations, focusing on sporting merit, as these teams were in first and second place of the LigaPro, respectively, at the time of cancellation.{{cite web|date=5 May 2020|url=https://www.ligaportugal.pt/pt/epocas/20192020/noticias/institucional/direcao-da-liga-portugal-em-reuniao-extraordinaria/|title=Direção da Liga Portugal em reunião extraordinária|trans-title=LPFP board extraordinary meeting|language=pt|website=LPFP|access-date=6 May 2020}}

Nacional came back to the top division one season after being relegated, while Farense secured their return after an 18-year absence. They replaced Desportivo das Aves and Vitória de Setúbal, who were relegated after three and sixteen seasons in the top flight, respectively.

=Stadia and locations=

{{Location map+|Portugal

|caption={{center|Location of teams in 2020–21 Primeira Liga (Mainland)}}

|float=right

|width=370

|places =

{{Location map~|Portugal|lat=38.752711|long=-9.184774|label=Benfica|position=top}}

{{Location map~|Portugal|lat=41.5619546|long=-8.4304938|label=Braga|position=top}}

{{Location map~|Portugal|lat=41.16177|long=-8.583591|label=Porto|position=right}}

{{Location map~|Portugal|lat=37.0226508|long=-7.9289805|label=Farense|position=top}}

{{Location map~|Portugal|lat=38.7612299|long=-9.1617956|label=Sporting CP|position=right}}

{{Location map~|Portugal|lat=41.4012853|long=-8.5230868|label=Famalicão|position=left}}

{{Location map~|Portugal|lat=41.3627211|long=-8.7400931|label=Rio Ave|position=bottom}}

{{Location map~|Portugal|lat=41.4459272|long=-8.3009166|label=V. Guimarães|position=right}}

{{Location map~|Portugal|lat=41.1621944|long=-8.6425722|label=Boavista|position=left}}

{{Location map~|Portugal|lat=41.378076|long=-8.3567628|label=Moreirense|position=right}}

{{Location map~|Portugal|lat=41.5511151|long=-8.623283|label=Gil Vicente|position=left}}

{{Location map~|Portugal|lat=41.270585|long=-8.3878358|label={{nowrap|Paços de Ferreira}}|position=right}}

{{Location map~|Portugal||lat=38.7088623|long=-9.2605771|label=B-SAD|position=bottom}}

{{Location map~|Portugal|lat=40.5168388|long=-8.0800471|label=Tondela|position=top}}

{{Location map~|Portugal|lat=37.1357173|long=-8.5400021|label=Portimonense|position=top}}

}}

{{Location map+|Portugal Madeira

|caption={{center|Location of teams in 2020–21 Primeira Liga (Madeira)}}

|float=right

|width=200

|places=

{{Location map~|Portugal Madeira|lat=32.670846|long=-16.883584|label=Nacional|position=top}}

{{Location map~|Portugal Madeira|lat=32.645604|long=-16.9304811|label=Marítimo|position=bottom}}

}}

{{Location map+|Portugal Azores

|caption={{center|Location of teams in 2020–21 Primeira Liga (Azores)}}

|float=right

|width=200

|places =

{{Location map~|Portugal Azores|lat=37.763708|long=-25.6247723|label=Santa Clara|position=bottom}}

}}

class="wikitable sortable" style="text-align: left;"
Team

! Location

! Stadium

! Capacity {{cite web|url=https://www.ligaportugal.pt/en/liga/estatisticas/espectadores/clube/20192020/liganos|title=Liga NOS stats|website=LPFP|access-date=14 June 2020}}

! data-sort-type="number" |2019–20

B-SAD

| Oeiras

| Estádio Nacional

| style="text-align:center;"| 37,593

| 15th

Benfica

| Lisbon

| Estádio da Luz

| style="text-align:center;"| 64,642

| 2nd

Boavista

| Porto

| Estádio do Bessa

| style="text-align:center;"| 28,263

| 12th

Braga

| Braga

| Estádio Municipal de Braga

| style="text-align:center;"| 30,286

| 3rd

Famalicão

| Vila Nova de Famalicão

| Estádio Municipal 22 de Junho

| style="text-align:center;"| 5,307

| 6th

Farense

| Faro

| Estádio de São Luís

| style="text-align:center;"| 7,000

| 2nd {{hs|31}}(LP)

Gil Vicente

| Barcelos

| Estádio Cidade de Barcelos

| style="text-align:center;"| 12,504

| 10th

Marítimo

| Funchal

| Estádio do Marítimo

| style="text-align:center;"| 10,932

| 11th

Nacional

| Funchal

| Estádio da Madeira

| style="text-align:center;"| 5,132

| 1st {{hs|31}}(LP)

Moreirense

| Moreira de Cónegos

| Parque de Jogos Comendador
Joaquim de Almeida Freitas

| style="text-align:center;"| 6,153

| 8th

Paços de Ferreira

| Paços de Ferreira

| Estádio Capital do Móvel

| style="text-align:center;"| 9,076

| 13th

Portimonense

| Portimão

| Estádio Municipal de Portimão

| style="text-align:center;"| 6,204

| 17th

Porto

| Porto

| Estádio do Dragão

| style="text-align:center;"| 50,033

| 1st

Rio Ave

| Vila do Conde

| Estádio dos Arcos

| style="text-align:center;"| 9,065

| 5th

Santa Clara

| Ponta Delgada

| Estádio de São Miguel

| style="text-align:center;"| 13,277

| 9th

Sporting CP

| Lisbon

| Estádio José Alvalade

| style="text-align:center;"| 50,095

| 4th

Tondela

| Tondela

| Estádio João Cardoso

| style="text-align:center;"| 5,000

| 14th

Vitória de Guimarães

| Guimarães

| Estádio D. Afonso Henriques

| style="text-align:center;"| 30,000

| 7th

{{notelist-ua}}

=Personnel and sponsors=

class="wikitable sortable" style="text-align: left;"
Team

! Manager

! Captain

! Kit
Manufacturer

! Main Sponsor

B-SAD

| {{flagicon|POR}} Petit

| {{flagicon|POR}} Silvestre Varela

| {{flagicon|POR}} [https://www.lacatoni.com/ Lacatoni]

| {{flagicon|GBR}} [https://www.betwaygroup.com/ Betway Group]

Benfica

| {{flagicon|POR}} Jorge Jesus

| {{flagicon|BRA}} Jardel

| {{flagicon|GER}} Adidas

| {{flagicon|UAE}} Emirates

Boavista

| {{flagicon|POR}} Jesualdo Ferreira

| {{flagicon|ESP}} Javi García

| {{flagicon|ESP}} Kelme

| {{flagicon|POR}} [https://www.vito-tools.pt/ VITO Tools]

Braga

| {{flagicon|POR}} Carlos Carvalhal

| {{flagicon|BRA}} Fransérgio

| {{flagicon|DEN}} Hummel

| {{flagicon|GRE}} [https://www.betano.pt/ Betano]

Famalicão

| {{flagicon|POR}} Ivo Vieira

| {{flagicon|BRA}} Gustavo Assunção

| {{flagicon|ITA}} Macron

| {{flagicon|POR}} [http://www.porminho.pt/ Porminho]

Farense

| {{flagicon|POR}} Jorge Costa

| {{flagicon|BRA}} Cássio Scheid

| {{flagicon|GER}} Adidas

| {{flagicon|POR}} McDonald's

Gil Vicente

| {{flagicon|POR}} Ricardo Soares

| {{flagicon|POR}} Rúben Fernandes

| {{flagicon|POR}} [https://www.lacatoni.com/ Lacatoni]

| {{flagicon|POR}} [https://laskasas.com/pt/ Las Kasas]

Marítimo

| {{flagicon|ESP}} Julio Velázquez

| {{flagicon|POR}} Edgar Costa

| {{flagicon|USA}} Nike

| {{flagicon|GRE}} [https://www.betano.pt/ Betano]

Nacional

| {{flagicon|POR}} Manuel Machado

| {{flagicon|POR}} Rúben Micael

| {{flagicon|DEN}} Hummel

| {{flagicon|ESP}} Santander

Moreirense

| {{flagicon|POR}} Vasco Seabra

| {{flagicon|POR}} João Aurélio

| {{flagicon|POR}} [http://www.cdt-equipamentos.com/ CDT]

|

Paços de Ferreira

| {{flagicon|POR}} Pepa

| {{flagicon|BRA}} Marcelo

| {{flagicon|ESP}} Joma

| {{flagicon|ESP}} [https://www.aldroportugal.pt/ Aldro Energy] {{Webarchive|url=https://web.archive.org/web/20200809024601/https://aldroportugal.pt/ |date=9 August 2020 }}

Portimonense

| {{flagicon|POR}} Paulo Sérgio

| {{flagicon|BRA}} Dener

| {{flagicon|JPN}} Mizuno

| {{flagicon|POR}} McDonald's

Porto

| {{flagicon|POR}} Sérgio Conceição

| {{flagicon|POR}} Pepe

| {{flagicon|USA}} New Balance

| {{flagicon|POR}} MEO

Rio Ave

| {{flagicon|POR}} Miguel Cardoso

| {{flagicon|POR}} Tarantini

| {{flagicon|USA}} Nike

| {{flagicon|POR}} MEO

Santa Clara

| {{flagicon|POR}} Daniel Ramos

| {{flagicon|IRQ}} Osama Rashid

| {{flagicon|ESP}} Kelme

| {{flagicon|ESP}} Santander

Sporting CP

| {{flagicon|POR}} Ruben Amorim

| {{flagicon|URU}} Sebastián Coates

| {{flagicon|USA}} Nike

| {{flagicon|GRE}} [https://www.betano.pt/ Betano]

Tondela

| {{flagicon|ESP}} Pako Ayestarán

| {{flagicon|POR}} Ricardo Alves

| {{flagicon|POR}} [http://www.cdt-equipamentos.com/ CDT]

| {{flagicon|POR}} [https://cabriz.pt/ Cabriz]

Vitória de Guimarães

| {{flagicon|POR}} Moreno

| {{flagicon|POR}} André André

| {{flagicon|ITA}} Macron

|

=Managerial changes=

class="wikitable sortable" style="text-align:left"
Team

! Outgoing manager

! {{Abbr|Manager|Manager of departure}}

! Date of vacancy

! Pos in table

! Incoming manager

! Date of appointment

! {{Abbr|Ref.|References}}

Santa Clara

| {{flagicon|Portugal}} João Henriques

|rowspan=4 align=center| Mutual consent

| 24 July 2020

|rowspan=8 align=center|Pre-season

| {{flagicon|Portugal}} Daniel Ramos

| 28 July 2020

| {{cite news|url=https://www.ojogo.pt/futebol/1a-liga/santa-clara/noticias/oficial-daniel-ramos-e-novo-treinador-do-santa-clara-12474545.html|title=Oficial: Daniel Ramos é o novo treinador do Santa Clara|trans-title=Official: Daniel Ramos is the new manager of Santa clara|newspaper=O Jogo|language=pt|date=28 July 2020|access-date=28 July 2020}}

Vitória de Guimarães

| {{flagicon|Portugal}} Ivo Vieira

| 24 July 2020

| {{flagicon|Portugal}} Tiago Mendes

| 28 July 2020

| {{cite news|url=https://www.ojogo.pt/futebol/1a-liga/vitoria-guimaraes/noticias/oficial-tiago-e-o-novo-treinador-do-vitoria-de-guimaraes-12475916.html|title=Oficial: Tiago é o novo treinador do Vitória de Guimarães|trans-title=Official: Tiago is the new manager of Vitória de Guimarães|newspaper=O Jogo|language=pt|date=28 July 2020|access-date=28 July 2020}}

Boavista

| {{flagicon|Portugal}} Daniel Ramos

| 25 July 2020

| {{flagicon|Portugal}} Vasco Seabra

| 30 July 2020

| {{cite news|url=https://www.ojogo.pt/futebol/1a-liga/boavista/noticias/oficial-vasco-seabra-e-treinador-do-boavista-12482092.html|title=Oficial: Vasco Seabra é treinador do Boavista|trans-title=Official: Carlos Carvalhal is manager of Boavista|newspaper=O Jogo|language=pt|date=30 July 2020|access-date=30 July 2020}}

Rio Ave

| {{flagicon|Portugal}} Carlos Carvalhal

| 25 July 2020

| {{flagicon|Portugal}} Mário Silva

| 30 July 2020

| {{cite news|url=https://www.ojogo.pt/futebol/1a-liga/rio-ave/noticias/mario-silva-e-o-sucessor-de-carlos-carvalhal-no-rio-ave-12483218.html|title=Mário Silva é o sucessor de Carlos Carvalhal no Rio Ave|trans-title=Mário Silva is the successor of Carlos Carvalhal at Rio Ave|newspaper=O Jogo|language=pt|date=30 July 2020|access-date=30 July 2020}}

Marítimo

| {{flagicon|Portugal}} José Gomes

| align=center| Signed for Almería

| 27 July 2020

| {{flagicon|Angola}} Lito Vidigal

| 30 July 2020

| {{cite news|url=https://www.ojogo.pt/futebol/1a-liga/maritimo/noticias/lito-vidigal-e-o-comandante-que-se-segue-no-maritimo-12483329.html|title=Lito Vidigal sucede a José Gomes no Marítimo|trans-title=Lito Vidigal succeeds José Gomes at Marítimo|newspaper=O Jogo|language=pt|date=30 July 2020|access-date=30 July 2020}}

Braga

| {{flagicon|Portugal}} Artur Jorge

|rowspan=2 align=center| End of caretaker role

| 28 July 2020

| {{flagicon|Portugal}} Carlos Carvalhal

| 28 July 2020

| {{cite news|url=https://www.ojogo.pt/futebol/1a-liga/braga/noticias/oficial-carlos-carvalhal-e-o-novo-treinador-do-braga-12473896.html|title=Oficial: Carlos Carvalhal é o novo treinador do Braga|trans-title=Official: Carlos Carvalhal is the new manager of Braga|newspaper=O Jogo|language=pt|date=28 July 2020|access-date=28 July 2020}}

Benfica

| {{flagicon|Portugal}} Nélson Veríssimo

| 1 August 2020

| {{flagicon|Portugal}} Jorge Jesus

| 3 August 2020

| {{cite news|url=https://www.ojogo.pt/futebol/1a-liga/benfica/noticias/benfica-oficializa-contratacao-de-jorge-jesus-na-cmvm-12436778.html|title=Benfica oficializa contratação de Jorge Jesus com comunicado enviado à CMVM|trans-title=Benfica confirms signing of Jorge Jesus in statement sent to the CMVM|newspaper=O Jogo|language=pt|date=17 July 2020|access-date=30 July 2020}}{{cite news|url=https://www.ojogo.pt/futebol/1a-liga/benfica/noticias/tudo-concluido-jorge-jesus-assina-depois-do-derbi-12465498.html|title=Tudo concluído: Jorge Jesus assina depois do dérbi|trans-title=Deal closed: Jorge Jesus signs after derby|newspaper=O Jogo|language=pt|date=25 July 2020|access-date=30 July 2020}}

Tondela

| {{flagicon|Spain}} Natxo González

|rowspan=2 align=center| Mutual Consent

| 5 August 2020

| {{flagicon|ESP}} Pako Ayestarán

| 9 August 2020

| {{cite news|url=https://www.record.pt/futebol/futebol-nacional/liga-nos/tondela/detalhe/pako-ayestaran-vai-suceder-a-natxo-gonzalez-no-comando-do-tondela?ref=Liga%20NOS_BucketDestaquesPrincipais|title=Pako Ayestarán vai suceder a Natxo González no comando do Tondela|newspaper=Record|language=pt|date=9 August 2020|access-date=9 August 2020|archive-date=13 September 2020|archive-url=https://web.archive.org/web/20200913043445/https://www.record.pt/futebol/futebol-nacional/liga-nos/tondela/detalhe/pako-ayestaran-vai-suceder-a-natxo-gonzalez-no-comando-do-tondela?ref=Liga%20NOS_BucketDestaquesPrincipais|url-status=dead}}

Vitória de Guimarães

| {{flagicon|Portugal}} Tiago Mendes

| 8 October 2020

|align=center|11th

| {{flagicon|POR}} João Henriques

| 13 October 2020

|{{cite news|url=https://www.ojogo.pt/futebol/1a-liga/vitoria-guimaraes/noticias/tiago-mendes-deixa-o-comando-tecnico-do-vitoria-12899768.html|title=Tiago deixa comando técnico do Vitória: números de um curto percurso|trans-title=Tiago leaves helm of Vitória: numbers of a short spell|newspaper=O Jogo|first1=Tomaz|last1=Andrade|first2=Manuel|last2=Casaca|language=pt|date=8 October 2020|access-date=10 October 2020}}

Moreirense

| {{flagicon|Portugal}} Ricardo Soares

|align=center|Resigned

| 9 November 2020

|align=center|9th

| {{flagicon|POR}} César Peixoto

| 10 November 2020

|{{cite news|url=https://www.record.pt/futebol/futebol-nacional/liga-bwin/moreirense/detalhe/ricardo-soares-deixa-o-comando-tecnico-do-moreirense|title=Ricardo Soares deixa o comando técnico do Moreirense|trans-title=Ricardo Soares leaves the technical command of Moreirense|newspaper=Record|language=pt|date=9 November 2020|access-date=9 November 2020}}

Gil Vicente

| {{flagicon|Portugal}} Rui Almeida

|rowspan=3 align=center|Sacked

| 11 November 2020

|rowspan=2 align=center|17th

| {{flagicon|POR}} Ricardo Soares

| 13 November 2020

|{{cite news|url=https://observador.pt/2020/11/13/ricardo-soares-substitui-rui-almeida-no-comando-tecnico-do-gil-vicente/|title=Ricardo Soares substitui Rui Almeida no comando técnico do Gil Vicente|trans-title=Ricardo Soares replaces Rui Almeida at the helm of Gil Vicente|newspaper=Observador|language=pt|date=13 November 2020|access-date=14 November 2020}}

Marítimo

| {{flagicon|Angola}} Lito Vidigal

| 4 December 2020

| {{flagicon|BRA}} Milton Mendes

| 5 December 2020

|{{cite news |title=Marítimo oficializa saída de Lito Vidigal do comando técnico|trans-title=Marítimo confirm exit of Lito Vidigal from managerial position|url=https://observador.pt/2020/12/15/maritimo-oficializa-saida-de-lito-vidigal-do-comando-tecnico/ |access-date=16 December 2020 |work=Observador |date=15 December 2020 |language=pt}}

rowspan=2|Boavista

| {{flagicon|Portugal}} Vasco Seabra

| 8 December 2020

|rowspan=2 align=center|15th

| {{flagicon|POR}} Daniel Gonçalves (Caretaker)

| 8 December 2020

|{{cite web|url=https://desporto.sapo.pt/futebol/primeira-liga/artigos/vasco-seabra-e-o-quarto-treinador-a-sair-em-equipas-da-i-liga|title=Vasco Seabra é o quarto treinador a sair em equipas da I Liga|trans-title=Vasco Seabra is the fourth manager to leave an I League team|publisher=SAPO|language=pt|date=8 December 2020|access-date=15 December 2020}}

{{flagicon|Portugal}} Daniel Gonçalves (Caretaker)

|align=center|End of caretaker role

| 13 December 2020

| {{flagicon|POR}} Jesualdo Ferreira

| 13 December 2020

|{{cite news |title=Jesualdo Ferreira oficializado como novo técnico do Boavista|trans-title=Jesualdo Ferreira confirmed as new Boavista manager|url=https://desporto.sapo.pt/futebol/primeira-liga/artigos/jesualdo-ferreira-oficializado-como-novo-tecnico-do-boavista |access-date=15 December 2020 |publisher=SAPO |date=14 December 2020 |language=pt}}

Rio Ave

| {{flagicon|Portugal}} Mário Silva

|align=center|Sacked

| 30 December 2020

|align=center|13th

| {{flagicon|POR}} Pedro Cunha (Caretaker)

| 30 December 2020

|{{cite news|url=https://www.ojogo.pt/futebol/1a-liga/rio-ave/noticias/rio-ave-oficializa-saida-de-mario-silva-e-anuncia-sucessor-imediato-13182710.html|title=Rio Ave oficializa saída de Mário Silva e anuncia sucessor imediato|trans-title=Rio Ave confirm Mário Silva's exit and announce immediate successor|newspaper=O Jogo|first=Pedro|last=Cunha|language=pt|date=30 December 2020|access-date=11 January 2021}}

rowspan=2|Moreirense

| {{flagicon|Portugal}} César Peixoto

|align=center|Resigned

| 2 January 2021

|rowspan=2 align=center|8th

| {{flagicon|POR}} Leandro Mendes (Caretaker)

| 2 January 2021

|{{cite web|url=https://desporto.sapo.pt/futebol/primeira-liga/artigos/cesar-peixoto-deixa-o-moreirense-por-vontade-propria|title=César Peixoto deixa o Moreirense por vontade própria|trans-title=César Peixoto leaves Moreirense by his own will|publisher=SAPO|language=Portuguese|date=2 January 2021|access-date=24 January 2021}}

{{flagicon|Portugal}} Leandro Mendes (Caretaker)

|rowspan=2 align=center| End of caretaker role

| 5 January 2021

| {{flagicon|POR}} Vasco Seabra

| 5 January 2021

|{{cite news|url=https://www.record.pt/futebol/futebol-nacional/liga-nos/moreirense/detalhe/vasco-seabra-oficial-no-moreirense-ate-junho-de-2022|title=Vasco Seabra oficial no Moreirense até junho de 2022|trans-title=Vasco Seabra confirmed at Moreirense until June 2022|newspaper=Record|first1=Bruno|last1=Freitas|first2=Pedro|last2=Malacó|language=pt|date=7 January 2021|access-date=24 January 2021}}

Rio Ave

| {{flagicon|Portugal}} Pedro Cunha (Caretaker)

| 29 January 2021

|align=center|10th

| {{flagicon|POR}} Miguel Cardoso

| 29 January 2021

|{{cite news |title=Rio Ave confirma regresso de Miguel Cardoso|trans-title=Rio Ave confirm return of Miguel Cardoso|url=https://rr.sapo.pt/2021/01/29/futebol-nacional/rio-ave-confirma-regresso-de-miguel-cardoso/noticia/224704/ |access-date=30 January 2021 |publisher=Rádio Renascença |date=29 January 2021 |language=Portuguese}}

Famalicão

| {{flagicon|Portugal}} João Pedro Sousa

|align=center| Sacked

| 31 January 2021

|align=center|16th

| {{flagicon|POR}} Silas

| 1 February 2021

|{{cite news|url=https://www.record.pt/futebol/futebol-nacional/liga-nos/famalicao/detalhe/famalicao-oficializa-contratacao-de-silas?ref=Detalhe_Ultimas|title=Famalicão oficializa contratação de Silas|trans-title=Famalicão make signing of Silas official|newspaper=Record|last=Morais|first=Pedro|language=pt|date=1 February 2021|access-date=1 February 2021}}

Farense

| {{flagicon|Portugal}} Sérgio Vieira

|rowspan=2 align=center| Mutual Consent

| 1 February 2021

|rowspan=2 align=center|17th

| {{flagicon|POR}} Jorge Costa

| 4 February 2021

|{{Cite web|last=Encarnação|first=Carlos|date=31 January 2021|title=Sérgio Vieira deixa o Farense e há três nomes apontados ao lugar|trans-title=Sérgio Vieira leaves Farense and there are three names pointed to the place|url=https://www.ojogo.pt/futebol/1a-liga/farense/noticias/sergio-vieira-deixa-o-farense-e-ha-tres-nomes-apontados-ao-lugar-13300056.html|url-status=live|archive-url=https://web.archive.org/web/20210131202555/https://www.ojogo.pt/futebol/1a-liga/farense/noticias/sergio-vieira-deixa-o-farense-e-ha-tres-nomes-apontados-ao-lugar-13300056.html |archive-date=31 January 2021 |access-date=1 February 2021|website=O Jogo|language=pt}}

Famalicão

| {{flagicon|POR}} Silas

| 8 March 2021

| {{flagicon|POR}} Ivo Vieira

| 8 March 2021

|{{cite web|url=https://cidadehoje.pt/silas-de-saida-do-f-c-famalicao/|title=Silas de saída do F.C.Famalicão|trans-title=Silas leaving F.C.Famalicão|publisher=Cidade Hoje|language=pt|date=8 March 2021|access-date=8 March 2021|url-status=live|archive-url=https://web.archive.org/web/20210924154638/https://cidadehoje.pt/silas-de-saida-do-f-c-famalicao/ |archive-date=24 September 2021 }}{{cite web|url=https://www.fcfamalicao.pt/comunicado-4/|title=Comunicado|trans-title=Announcement|publisher=F.C. Famalicão|language=pt|date=8 March 2021|access-date=8 March 2021|url-status=live|archive-url=https://web.archive.org/web/20210309055842/https://www.fcfamalicao.pt/comunicado-4/ |archive-date=9 March 2021 }}

Marítimo

| {{flagicon|BRA}} Milton Mendes

| align=center| Resigned

| 5 March 2021

|align=center| 18th

| {{flagicon|ESP}} Julio Velázquez

| 11 March 2021

|{{Cite web|last=Caires|first=Raul|date=2021-03-08|title=Milton Mendes de saída do Marítimo|trans-title=Milton Mendes exits Marítimo|url=https://www.jm-madeira.pt/desporto/ver/121121/Milton_Mendes_de_saida_do_Maritimo_|url-status=live|access-date=2021-03-08|website=JM Madeira|language=pt-PT|archive-url=https://web.archive.org/web/20210308173305/https://www.jm-madeira.pt/desporto/ver/121121/Milton_Mendes_de_saida_do_Maritimo_ |archive-date=8 March 2021 }}{{Cite web|last=Arnaldo|first=Cafôfo|date=8 March 2021|title=Milton Mendes confirma saída do comando técnico do Marítimo|trans-title=Milton Mendes confirms departure from Marítimo's technical command|url=https://www.jn.pt/desporto/milton-mendes-confirma-saida-do-comando-tecnico-do-maritimo-13433129.html|url-status=live|access-date=2021-03-08|website=Jornal de Notícias|language=pt|archive-url=https://web.archive.org/web/20210308230148/https://www.jn.pt/desporto/milton-mendes-confirma-saida-do-comando-tecnico-do-maritimo-13433129.html |archive-date=8 March 2021 }}

Nacional

| {{flagicon|POR}} Luís Freire

|rowspan=2 align=center| Sacked

| 21 March 2021

|align=center|17th

| {{flagicon|POR}} Manuel Machado

| 22 March 2021

|{{cite news |title=Luís Freire de saída do comando técnico do Nacional|trans-title=Luís Freire leaving the helm of Nacional |url=https://observador.pt/2021/03/21/luis-freire-de-saida-do-comando-tecnico-do-nacional/ |access-date=25 March 2021 |work=Observador |date=21 March 2021 |language=Portuguese}}

rowspan=2| Vitória de Guimarães

| {{flagicon|Portugal}} João Henriques

| 5 April 2021

|align=center|6th

| {{flagicon|POR}} Bino (Caretaker)

| 5 April 2021

|{{cite news |title=João Henriques deixa Vitória de Guimarães. Segue-se Bino|trans-title=João Henriques leaves Vitória de Guimarães. Bino succeeds him |url=https://www.ojogo.pt/futebol/1a-liga/vitoria-guimaraes/noticias/joao-henriques-deixa-vitoria-de-guimaraes-13533114.html |access-date=7 April 2021 |work=O Jogo |date=5 April 2021 |language=Portuguese}}

{{flagicon|POR}} Bino (Caretaker)

|align=center| End of caretaker role

| 13 May 2021

|align=center|8th

| {{flagicon|POR}} Moreno (Caretaker)

| 13 May 2021

|{{cite web|url=https://rr.sapo.pt/2021/05/13/futebol-nacional/bino-demite-se-do-vitoria-de-guimaraes-moreno-termina-a-epoca-no-banco/noticia/238523/|title=Bino demite-se do Vitória de Guimarães. Moreno termina a época no banco|trans-title=Bino resigns from Vitória de Guimarães. Moreno ends the season on the bench|publisher=Rádio Renascença|language=pt|date=13 May 2021|access-date=19 May 2021}}

League table

{{2020–21 Primeira Liga table}}

Relegation play-offs

The relegation play-offs took place on 26 and 30 May 2021.

All times are WEST (UTC+1).

{{TwoLegStart}}

{{TwoLegResult|Rio Ave||0–5|Arouca||0–3|0–2}}

|}

{{football box

|date = {{Start date|2021|05|26|df=y}}

|time = 21:45

|team1 = Arouca

|score = 3–0

|report = https://www.ligaportugal.pt/en/liga/jogo/20202021/playoff/1/1

|team2 = Rio Ave

|goals1 =

|goals2 =

|stadium = Estádio Municipal de Arouca

|location = Arouca

|attendance = 0

|referee = João Pinheiro

}}

{{football box

|date = {{Start date|2021|05|30|df=y}}

|time = 19:00

|team1 = Rio Ave

|score = 0–2

|report = https://www.ligaportugal.pt/pt/liga/jogo/20202021/playoff/2/1

|team2 = Arouca

|goals1 =

|goals2 =

|stadium = Estádio dos Arcos

|location = Vila do Conde

|attendance = 0

|referee = Hugo Miguel

}}

Arouca won 5–0 on aggregate and were promoted to 2021–22 Primeira Liga; Rio Ave were relegated to 2021–22 Liga Portugal 2.

Results

{{#invoke:sports results|main

| source = [http://www.ligaportugal.pt/en/liga/jornada/20182019/liganos Liga Portugal]

| update = complete

| a_note = yes

| matches_style = FBR

|team1=BEL |team2=BEN |team3=BOA |team4=BRA |team5=FAM |team6=FAR |team7=GIL |team8=MAR |team9=MOR |team10=NAC |team11=PAC |team12=PTM |team13=POR |team14=RAV |team15=STA |team16=SPO |team17=TON |team18=VSC

| name_BEL = Belenenses SAD

| name_BEN = Benfica

| name_BOA = Boavista

| name_BRA = Braga

| name_FAM = Famalicão

| name_FAR = Farense

| name_GIL = Gil Vicente

| name_MAR = Marítimo

| name_MOR = Moreirense

| name_NAC = Nacional

| name_PAC = Paços de Ferreira

| name_PTM = Portimonense

| name_POR = Porto

| name_RAV = Rio Ave

| name_STA = Santa Clara

| name_SPO = Sporting CP

| name_TON = Tondela

| name_VSC = Vitória de Guimarães

| match_BEL_BEN = 0–3

| match_BEL_BOA = 0–2

| match_BEL_BRA = 2–1

| match_BEL_FAM = 1–2

| match_BEL_FAR = 1–1

| match_BEL_GIL = 2–1

| match_BEL_MAR = 2–0

| match_BEL_MOR = 0–0

| match_BEL_NAC = 2–1

| match_BEL_PAC = 0–2

| match_BEL_PTM = 1–0

| match_BEL_POR = 0-0

| match_BEL_RAV = 0–0

| match_BEL_STA = 0-2

| match_BEL_SPO = 1–2

| match_BEL_TON = 2–0

| match_BEL_VSC = 1–1

| match_BEN_BEL = 2–0

| match_BEN_BOA = 2–0

| match_BEN_BRA = 2-3

| match_BEN_FAM = 2–0

| match_BEN_FAR = 3–2

| match_BEN_GIL = 1-2

| match_BEN_MAR = 1–0

| match_BEN_MOR = 2–0

| match_BEN_NAC = 1-1

| match_BEN_PAC = 2–1

| match_BEN_PTM = 2–1

| match_BEN_POR = 1-1

| match_BEN_RAV = 2–0

| match_BEN_STA = 2–1

| match_BEN_SPO = 4-3

| match_BEN_TON = 2–0

| match_BEN_VSC = 0-0

| match_BOA_BEL = 0–0

| match_BOA_BEN = 3–0

| match_BOA_BRA = 1-4

| match_BOA_FAM = 3–0

| match_BOA_FAR = 0-1

| match_BOA_GIL = 1–2

| match_BOA_MAR = 0–1

| match_BOA_MOR = 1–0

| match_BOA_NAC = 0–1

| match_BOA_PAC = 2–0

| match_BOA_PTM = 1–0

| match_BOA_POR = 0–5

| match_BOA_RAV = 3–3

| match_BOA_STA = 1–1

| match_BOA_SPO = 0-2

| match_BOA_TON = 1–1

| match_BOA_VSC = 0–1

| match_BRA_BEL = 1-1

| match_BRA_BEN = 0-2

| match_BRA_BOA = 2-1

| match_BRA_FAM = 1-0

| match_BRA_FAR = 1-0

| match_BRA_GIL = 1-0

| match_BRA_MAR = 2-1

| match_BRA_MOR = 2-1

| match_BRA_NAC = 2-1

| match_BRA_PAC = 1-1

| match_BRA_PTM = 2-1

| match_BRA_POR = 2-2

| match_BRA_RAV = 3-0

| match_BRA_STA = 0-1

| match_BRA_SPO = 0-1

| match_BRA_TON = 4-2

| match_BRA_VSC = 3-0

| match_FAM_BEL = 0–0

| match_FAM_BEN = 1–5

| match_FAM_BOA = 2–2

| match_FAM_BRA = 2–2

| match_FAM_FAR = 0-0

| match_FAM_GIL = 0–1

| match_FAM_MAR = 2–1

| match_FAM_MOR = 0–2

| match_FAM_NAC = 3–0

| match_FAM_PAC = 2–0

| match_FAM_PTM = 0–1

| match_FAM_POR = 1–4

| match_FAM_RAV = 1–1

| match_FAM_STA = 1-0

| match_FAM_SPO = 2–2

| match_FAM_TON = 2–2

| match_FAM_VSC = 0–1

| match_FAR_BEL = 0–1

| match_FAR_BEN = 0–0

| match_FAR_BOA = 3–1

| match_FAR_BRA = 1–2

| match_FAR_FAM = 3–3

| match_FAR_GIL = 3–1

| match_FAR_MAR = 2–1

| match_FAR_MOR = 1–2

| match_FAR_NAC = 0–1

| match_FAR_PAC = 1–1

| match_FAR_PTM = 1–1

| match_FAR_POR = 0–1

| match_FAR_RAV = 0–1

| match_FAR_STA = 1–1

| match_FAR_SPO = 0–1

| match_FAR_TON = 1–0

| match_FAR_VSC = 2–2

| match_GIL_BEL = 0–0

| match_GIL_BEN = 0–2

| match_GIL_BOA = 1-2

| match_GIL_BRA = 1-1

| match_GIL_FAM = 0–3

| match_GIL_FAR = 0–0

| match_GIL_MAR = 0–1

| match_GIL_MOR = 1-2

| match_GIL_NAC = 2–0

| match_GIL_PAC = 1-2

| match_GIL_PTM = 1–0

| match_GIL_POR = 0–2

| match_GIL_RAV = 2–0

| match_GIL_STA = 1–0

| match_GIL_SPO = 1–2

| match_GIL_TON = 1–1

| match_GIL_VSC = 1–2

| match_MAR_BEL = 1-0

| match_MAR_BEN = 1-2

| match_MAR_BOA = 0-0

| match_MAR_BRA = 1-0

| match_MAR_FAM = 0-4

| match_MAR_FAR = 1-0

| match_MAR_GIL = 0–1

| match_MAR_MOR = 0–2

| match_MAR_NAC = 0–0

| match_MAR_PAC = 0-3

| match_MAR_PTM = 1–2

| match_MAR_POR = 1-2

| match_MAR_RAV = 1–0

| match_MAR_STA = 1-2

| match_MAR_SPO = 0-2

| match_MAR_TON = 2–1

| match_MAR_VSC = 0-0

| match_MOR_BEL = 2–2

| match_MOR_BEN = 1–1

| match_MOR_BOA = 1–1

| match_MOR_BRA = 0-4

| match_MOR_FAM = 3-0

| match_MOR_FAR = 2–0

| match_MOR_GIL = 1-1

| match_MOR_MAR = 2–1

| match_MOR_NAC = 2–2

| match_MOR_PAC = 0-1

| match_MOR_PTM = 2–2

| match_MOR_POR = 1-1

| match_MOR_RAV = 1-1

| match_MOR_STA = 1-0

| match_MOR_SPO = 1-1

| match_MOR_TON = 2-3

| match_MOR_VSC = 2–2

| match_NAC_BEL = 0–0

| match_NAC_BEN = 1-3

| match_NAC_BOA = 3–3

| match_NAC_BRA = 1–2

| match_NAC_FAM = 2–1

| match_NAC_FAR = 2–3

| match_NAC_GIL = 2–1

| match_NAC_MAR = 1–2

| match_NAC_MOR = 0–1

| match_NAC_PAC = 1–1

| match_NAC_PTM = 1–5

| match_NAC_POR = 0–1

| match_NAC_RAV = 1-2

| match_NAC_STA = 1–3

| match_NAC_SPO = 0–2

| match_NAC_TON = 2–0

| match_NAC_VSC = 1–0

| match_PAC_BEL = 1-0

| match_PAC_BEN = 0–5

| match_PAC_BOA = 1–1

| match_PAC_BRA = 2-0

| match_PAC_FAM = 2–0

| match_PAC_FAR = 0-2

| match_PAC_GIL = 0-2

| match_PAC_MAR = 1–1

| match_PAC_MOR = 3–0

| match_PAC_NAC = 2–1

| match_PAC_PTM = 0–0

| match_PAC_POR = 3-2

| match_PAC_RAV = 2–0

| match_PAC_STA = 2–1

| match_PAC_SPO = 0-2

| match_PAC_TON = 2–1

| match_PAC_VSC = 2–1

| match_PTM_BEL = 1–0

| match_PTM_BEN = 1-5

| match_PTM_BOA = 1-2

| match_PTM_BRA = 0-0

| match_PTM_FAM = 0–0

| match_PTM_FAR = 2–0

| match_PTM_GIL = 4–1

| match_PTM_MAR = 0-0

| match_PTM_MOR = 1–2

| match_PTM_NAC = 1–0

| match_PTM_PAC = 1–1

| match_PTM_POR = 1–2

| match_PTM_RAV = 0–0

| match_PTM_STA = 1-2

| match_PTM_SPO = 0-2

| match_PTM_TON = 3-0

| match_PTM_VSC = 3-0

| match_POR_BEL = 4–0

| match_POR_BEN = 1–1

| match_POR_BOA = 2-2

| match_POR_BRA = 3–1

| match_POR_FAM = 3–2

| match_POR_FAR = 5–1

| match_POR_GIL = 1–0

| match_POR_MAR = 2-3

| match_POR_MOR = 3-0

| match_POR_NAC = 2-0

| match_POR_PAC = 2–0

| match_POR_PTM = 3–1

| match_POR_RAV = 2–0

| match_POR_STA = 2–1

| match_POR_SPO = 0-0

| match_POR_TON = 4-3

| match_POR_VSC = 1–0

| match_RAV_BEL = 0-0

| match_RAV_BEN = 0-3

| match_RAV_BOA = 0-0

| match_RAV_BRA = 0-0

| match_RAV_FAM = 0–1

| match_RAV_FAR = 2-0

| match_RAV_GIL = 0-2

| match_RAV_MAR = 1-3

| match_RAV_MOR = 2-0

| match_RAV_NAC = 0-0

| match_RAV_PAC = 1-1

| match_RAV_PTM = 3–0

| match_RAV_POR = 0–3

| match_RAV_STA = 1-2

| match_RAV_SPO = 0-2

| match_RAV_TON = 2-1

| match_RAV_VSC = 0-0

| match_STA_BEL = 2–0

| match_STA_BEN = 1-1

| match_STA_BOA = 3–3

| match_STA_BRA = 0–1

| match_STA_FAM = 1–2

| match_STA_FAR = 4-0

| match_STA_GIL = 0–0

| match_STA_MAR = 2–0

| match_STA_MOR = 0–0

| match_STA_NAC = 5–1

| match_STA_PAC = 3–0

| match_STA_PTM = 2–0

| match_STA_POR = 0–1

| match_STA_RAV = 1–0

| match_STA_SPO = 1–2

| match_STA_TON = 1–1

| match_STA_VSC = 0–4

| match_SPO_BEL = 2-2

| match_SPO_BEN = 1-0

| match_SPO_BOA = 1-0

| match_SPO_BRA = 2-0

| match_SPO_FAM = 1-1

| match_SPO_FAR = 1-0

| match_SPO_GIL = 3-1

| match_SPO_MAR = 5-1

| match_SPO_MOR = 2-1

| match_SPO_NAC = 2-0

| match_SPO_PAC = 2-0

| match_SPO_PTM = 2-0

| match_SPO_POR = 2–2

| match_SPO_RAV = 1-1

| match_SPO_STA = 2-1

| match_SPO_TON = 4-0

| match_SPO_VSC = 1-0

| match_TON_BEL = 1–3

| match_TON_BEN = 0-2

| match_TON_BOA = 3–1

| match_TON_BRA = 0–4

| match_TON_FAM = 1–0

| match_TON_FAR = 2–0

| match_TON_GIL = 1–0

| match_TON_MAR = 2–1

| match_TON_MOR = 0-0

| match_TON_NAC = 2-1

| match_TON_PAC = 2-3

| match_TON_PTM = 1–0

| match_TON_POR = 0-2

| match_TON_RAV = 1–1

| match_TON_STA = 2–0

| match_TON_SPO = 0–1

| match_TON_VSC = 0-2

| match_VSC_BEL = 0–1

| match_VSC_BEN = 1–3

| match_VSC_BOA = 2–1

| match_VSC_BRA = 0–1

| match_VSC_FAM = 1–2

| match_VSC_FAR = 2–2

| match_VSC_GIL = 2-4

| match_VSC_MAR = 1–0

| match_VSC_MOR = 2–0

| match_VSC_NAC = 3–1

| match_VSC_PAC = 1–0

| match_VSC_PTM = 1–0

| match_VSC_POR = 2-3

| match_VSC_RAV = 1–3

| match_VSC_STA = 1-0

| match_VSC_SPO = 0-4

| match_VSC_TON = 1–2

}}

=Positions by round=

The table lists the positions of teams after each week of matches. In order to preserve chronological evolvements, any postponed matches are not included to the round at which they were originally scheduled, but added to the full round they were played immediately afterwards.

{{#invoke:sports rbr table|table|sortable=y|legendpos=br

|team1=SPO

|team2=POR

|team3=BEN

|team4=BRA

|team5=PAC

|team6=STA

|team7=VSC

|team8=MOR

|team9=FAM

|team10=BEL

|team11=GIL

|team12=TON

|team13=BOA

|team14=PTM

|team15=MAR

|team16=RAV

|team17=FAR

|team18=NAC

|name_BEL=Belenenses SAD

| pos_BEL=6 /10/8 /8 /15/14/13/13/8 /10/14/12/14/17/11/14/13/13/13/10/10/12/10/10/13/13/12/11/10/11/9 /9 /10/10

|name_BEN=Benfica

| pos_BEN=1 /2 /1 /1 /1 /2 /3 /3 /2 /2 /2 /3 /3 /2 /3 /4 /4 /4 /4 /4 /4 /4 /4 /3 /3 /3 /3 /3 /3 /3 /3 /3 /3 /3

|name_BOA=Boavista

| pos_BOA=7 /16/14/17/17/13/15/16/16/16/17/17/17/18/18/15/18/18/17/17/18/14/15/17/15/15/14/15/16/16/16/16/15/13

|name_BRA=Braga

| pos_BRA=14/17/12/6 /4 /3 /2 /2 /4 /4 /4 /4 /4 /4 /4 /3 /3 /3 /3 /3 /2 /2 /3 /4 /4 /4 /4 /4 /4 /4 /4 /4 /4 /4

|name_FAM=Famalicão

| pos_FAM=18/6 /7 /9 /9 /12/10/10/11/8 /12/14/16/13/15/16/17/17/18/16/16/17/17/14/14/14/15/13/12/14/13/10/9 /9

|name_FAR=Farense

| pos_FAR=16/18/18/18/18/18/16/18/14/17/15/18/13/15/16/17/16/16/14/15/14/15/18/15/16/17/17/17/17/17/17/17/17/17

|name_GIL=Gil Vicente

| pos_GIL=15/8 /10/12/13/16/17/12/12/15/11/11/12/16/17/18/12/14/16/14/15/16/13/11/10/10/10/12/13/13/11/12/11/11

|name_MAR=Marítimo

| pos_MAR=17/9 /4 /7 /11/11/14/17/18/13/10/8 /8 /8 /9 /10/11/12/15/18/17/18/16/18/18/16/16/16/15/12/14/14/13/15

|name_MOR=Moreirense

| pos_MOR=4 /7 /9 /11/5 /9 /11/14/13/11/8 /10/10/7 /7 /8 /8 /8 /7 /7 /8 /7 /8 /8 /8 /8 /8 /8 /7 /8 /7 /7 /8 /8

|name_NAC=Nacional

| pos_NAC=10/5 /6 /10/10/10/8 /7 /10/12/9 /9 /11/14/14/11/9 /9 /10/11/12/13/14/16/17/18/18/18/18/18/18/18/18/18

|name_PAC=Paços de Ferreira

| pos_PAC=8 /12/15/13/14/8 /5 /5 /6 /6 /6 /6 /6 /5 /5 /5 /5 /5 /5 /5 /5 /5 /5 /5 /5 /5 /5 /5 /5 /5 /5 /5 /5 /5

|name_POR=Porto

| pos_POR=2 /1 /5 /3 /3 /4 /4 /4 /3 /3 /3 /2 /2 /3 /2 /2 /2 /2 /2 /2 /3 /3 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2

|name_PTM=Portimonense

| pos_PTM=11/13/16/14/16/17/18/15/17/18/18/16/18/12/13/13/15/15/12/13/13/11/12/13/12/9 /9 /10/11/10/12/13/14/14

|name_RAV=Rio Ave

| pos_RAV=9 /11/13/15/8 /7 /6 /9 /9 /9 /13/15/9 /10/10/12/14/10/9 /9 /11/9 /9 /9 /11/11/13/14/14/15/15/15/16/16

|name_SPO=Sporting CP

| pos_SPO=3 /3 /2 /2 /2 /1 /1 /1 /1 /1 /1 /1 /1 /1 /1 /1 /1 /1 /1 /1 /1 /1 /1 /1 /1 /1 /1 /1 /1 /1 /1 /1 /1 /1

|name_STA=Santa Clara

| pos_STA=5 /4 /3 /4 /6 /5 /9 /8 /7 /7 /7 /7 /7 /11/8 /7 /7 /7 /8 /8 /7 /8 /7 /7 /7 /6 /7 /7 /8 /7 /8 /8 /7 /6

|name_TON=Tondela

| pos_TON=12/14/17/16/12/15/12/11/15/14/16/13/15/9 /12/9 /10/11/11/12/9 /10/11/12/9 /12/11/9 /9 /9 /10/11/12/12

|name_VSC=Vitória de Guimarães

| pos_VSC=13/15/11/5 /7 /6 /7 /6 /5 /5 /5 /5 /5 /6 /6 /6 /6 /6 /6 /6 /6 /6 /6 /6 /6 /7 /6 /6 /6 /6 /6 /6 /6 /7

| color_1 = 1st|text_1 = Leader and Champions League group stage

| color_2 = green1|text_2 = Champions League group stage

| color_3 = green2|text_3 = Champions League third qualifying round

| color_4 = blue1|text_4 = Europa League group stage

| color_5 = yellow1|text_5 = Europa Conference League third qualifying round

| color_6 = yellow3|text_6 = Europa Conference League second qualifying round

| color_16 = red3|text_16=Relegation Play-off

| color_17-18 = red1|text_17-18=Relegation to Liga Portugal 2

| color_R = red1|

|update=complete

|source=[https://www.ligaportugal.pt/en/liga/classificacao/20202021/liganos Liga Portugal] {{in lang|pt}}

}}

Statistics

=Top goalscorers=

class="wikitable" style="text-align:center;"
RankPlayerClubGoals{{cite web|url=https://www.ligaportugal.pt/en/liga/estatisticas/topmarcadores/20202021/liganos|title=Top Scorers: Liga NOS|publisher=Liga Portugal|access-date=26 April 2021}}
1

| align="left" |{{flagicon|POR}} Pedro Gonçalves

| align="left" |Sporting CP

|23

2

| align="left" |{{flagicon|SUI}} Haris Seferovic

| align="left" |Benfica

|22

3

| align="left" |{{flagicon|IRN}} Mehdi Taremi

| align="left" |Porto

|16

4

| align="left" |{{flagicon|ESP}} Mario González

| align="left" |Tondela

|15

5

| align="left" |{{flagicon|BRA}} Carlos

| align="left" |Santa Clara

|14

6

| align="left" |{{flagicon|POR}} Sérgio Oliveira

| align="left" |Porto

|13

7

| align="left" |{{flagicon|GNB}} Beto

| align="left" |Portimonense

| 11

8

| align="left" |{{flagicon|COL}} Mateo Cassierra

| align="left" |Belenenses SAD

| 10

=Hat-tricks=

{{Main|List of Primeira Liga hat-tricks}}

class="wikitable"
Player

!For

!Against

!Result

!Date

{{flagicon|ESP}} Mario González

|Tondela

|Moreirense

|3–2 (A)

|17 April 2021

{{flagicon|POR}} Pedro Gonçalves

|Sporting CP

|Marítimo

|5–1 (H)

|19 May 2021

;Notes

(H) – Home team
(A) – Away team

=Top assists=

class="wikitable" style="text-align:center;"
RankPlayerClubAssists{{cite web|url=https://www.ligaportugal.pt/en/liga/estatisticas/20202021/liganos/assists|title=Assists: Liga NOS|publisher=Liga Portugal|access-date=26 April 2021}}
1

| align="left" |{{flagicon|IRN}} Mehdi Taremi

| align="left" |Porto

|11

2

| align="left" |{{flagicon|URU}} Darwin Núñez

| align="left" |Benfica

|10

rowspan=2|3

| align="left" |{{flagicon|BRA}} Everton

| align="left" |Benfica

|rowspan=2|9

align="left" |{{flagicon|ESP}} Álex Grimaldo

| align="left" |Benfica

5

| align="left" |{{flagicon|BRA}} Otávio

| align="left" |Porto

|8

rowspan=3|6

| align="left" |{{flagicon|MEX}} Jesús Corona

| align="left" |Porto

|rowspan=3|7

align="left" |{{flagicon|HON}} Alberth Elis

| align="left" |Boavista

align="left" |{{flagicon|SCO}} Ryan Gauld

| align="left" |Farense

=Clean sheets=

class="wikitable" style="text-align:center"
Rank

!Player

!Club

!Clean sheets

1

|align="left"|{{flagicon|SPA}} Antonio Adán

|align="left"|Sporting CP

|19

2

|align="left"|{{flagicon|ARG}} Agustín Marchesín

|align="left"|Porto

|16

rowspan=2|3

|align="left"|{{flagicon|POL}} Paweł Kieszek

|align="left"|Rio Ave

|rowspan=2|11

align="left"|{{flagicon|RUS}} Stanislav Kritsyuk

|align="left"|Belenenses SAD

rowspan=3|5

|align="left"|{{flagicon|IRN}} Amir Abedzadeh

|align="left"|Marítimo

|rowspan=3|10

align="left"|{{flagicon|POR}} Bruno Varela

|align="left"|Vitória de Guimarães

align="left"|{{flagicon|BRA}} Denis

|align="left"|Gil Vicente

rowspan=6|8

|align="left"|{{flagicon|BRA}} Matheus

|align="left"|Braga

|rowspan=6|9

align="left"|{{flagicon|BRA}} Jordi

|align="left"|Paços de Ferreira

align="left"|{{flagicon|BRA}} Léo Jardim

|align="left"|Boavista

align="left"|{{flagicon|BRA}} Luiz Júnior

|align="left"|Famalicão

align="left"|{{flagicon|BRA}} Samuel Portugal

|align="left"|Portimonense

align="left"|{{flagicon|POR}} Marco Pereira

|align="left"|Santa Clara

= Discipline =

== Player ==

  • Most yellow cards: 13{{cite web |url=https://www.zerozero.pt/edition_stats.php?v=jt4&o=a&sc=0&v1=j&v2=t&v3=4&pais=0&pos=0&id_equipa=0&id_edicao=147383|title=Primeira Liga Player Stats – Yellow Cards |publisher=Zero Zero|access-date=25 October 2020}}
  • {{flagicon|ARG}} Nicolás Otamendi (Benfica)
  • {{flagicon|POR}} Fábio Pacheco (Moreirense)
  • Most red cards: 2{{cite web |url=https://www.zerozero.pt/edition_stats.php?v=jt4&o=2A&id_edicao=135717&ord=d|title=Primeira Liga Player Stats – Red Cards |publisher=Zero Zero|access-date=16 June 2020}}
  • {{flagicon|POR}} Salvador Agra (Tondela)
  • {{flagicon|NGA}} Chidozie Awaziem (Boavista)
  • {{flagicon|POR}} David Carmo (Braga)
  • {{flagicon|BRA}} Júlio César (Nacional)
  • {{flagicon|BRA}} Rafael Defendi (Farense)
  • {{flagicon|BRA}} Fransérgio (Braga)
  • {{flagicon|ESP}} Javi García (Boavista)
  • {{flagicon|RUS}} Stanislav Kritsyuk (Belenenses)
  • {{flagicon|BRA}} Ygor Nogueira (Gil Vicente)

== Club ==

  • Most yellow cards: 102{{cite web |url=https://www.zerozero.pt/edition_stats.php?v=et4&o=A&sc=0&v1=e&v2=t&v3=4&pais=0&pos=0&id_equipa=0&id_edicao=147383|title=Primeira Liga Club Stats – Yellow Cards |publisher=Zero Zero|access-date=27 September 2020}}
  • Marítimo
  • Most red cards: 10{{cite web |url=https://www.zerozero.pt/edition_stats.php?v=et4&o=VE&id_edicao=135717&ord=d|title=Primeira Liga Club Stats – Red Cards |publisher=Zero Zero|access-date=1 July 2020}}
  • Boavista

Awards

=Monthly awards=

For the 2020–21 season, there were seven monthly awards in the Primeira Liga: best player, goalkeeper, defender, midfielder, forward, manager and goal of the month.{{Cite web|title=Best of September/October 2020-21: Pedro Gonçalves and Gonçalo Ramos are the highlights of the month|url=http://www.ligaportugal.pt/en/epocas/20202021/noticias/geral/premios/setembrooutubro/melhores-de-setembrooutubro-2020-21-pedro-goncalves-e-goncalo-ramos-em-destaque/|access-date=2021-03-13|website=Liga Portugal}}{{Cite web|title=Best of December 2020-21: Sérgio Oliveira and Crespo are the highlights of the month|url=http://www.ligaportugal.pt/en/epocas/20202021/noticias/geral/premios/dezembro/melhores-de-dezembro-2020-21-sergio-oliveira-e-crespo-em-destaque/|access-date=2021-03-13|website=Liga Portugal}}

class="wikitable"

! rowspan="2" |Month

! colspan="2" |Player of the Month

! colspan="2" |Goalkeeper of the Month

! colspan="2" |Defender of the Month

! colspan="2" |Midfielder of the Month

! colspan="2" |Forward of the Month

! colspan="2" |Manager of the Month

! colspan="2" |Goal of the Month

Player

!Club

!Player

!Club

!Player

!Club

!Player

!Club

!Player

!Club

!Manager

!Club

!Player

!Club

September/October

|rowspan=2|{{flagicon|POR}} Pedro Gonçalves

|rowspan=2|Sporting CP

|{{flagicon|POR}} Bruno Varela

|Vitória de Guimarães

|{{flagicon|POR}} Pepe

|Porto

|rowspan=2|{{flagicon|POR}} Pedro Gonçalves

|rowspan=2|Sporting CP

|{{flagicon|BRA}} Thiago Santana

|Santa Clara

|{{flagicon|POR}} Jorge Jesus

|Benfica

|{{flagicon|POR}} Bruno Jordão

|Famalicão

November

|{{flagicon|BRA}} Matheus

|Braga

|rowspan=3|{{flagicon|ESP}} Pedro Porro

|rowspan=3|Sporting CP

|{{flagicon|BRA}} Rodrigo Pinho

|Marítimo

|{{flagicon|POR}} Pepa

|Paços de Ferreira

|{{flagicon|COL}} Luis Díaz

|Porto

December

|{{flagicon|POR}} Sérgio Oliveira

|Porto

|rowspan=3|{{flagicon|ESP}} Antonio Adán

|rowspan=3|Sporting CP

|{{flagicon|POR}} Sérgio Oliveira

|Porto

|rowspan=3|{{flagicon|IRN}} Mehdi Taremi

|rowspan=3|Porto

|{{flagicon|POR}} Sérgio Conceição

|Porto

|{{flagicon|POR}} Iuri Medeiros

|Braga

January

|{{flagicon|IRN}} Mehdi Taremi

|Porto

|{{flagicon|POR}} Bruno Costa

|Paços de Ferreira

|{{flagicon|POR}} Pepa

|Paços de Ferreira

|{{flagicon|ESP}} Pedro Porro

|Sporting CP

February

|{{flagicon|LBY}} Ali Al Musrati

|Braga

|rowspan=3|{{flagicon|URU}} Sebastián Coates

|rowspan=3|Sporting CP

|{{flagicon|LBY}} Ali Al Musrati

|Braga

|{{flagicon|POR}} Ruben Amorim

|Sporting CP

|{{flagicon|SCO}} Ryan Gauld

|Farense

March

|{{flagicon|SUI}} Haris Seferovic

|Benfica

|{{flagicon|BRA}} Helton Leite

|Benfica

|{{flagicon|POR}} Sérgio Oliveira

|Porto

|{{flagicon|SUI}} Haris Seferovic

|Benfica

|{{flagicon|POR}} Jorge Jesus

|Benfica

|{{flagicon|GNB}} Beto

|Portimonense

April

|{{flagicon|URU}} Sebastián Coates

|Sporting CP

|{{flagicon|SPA}} Antonio Adán

|Sporting CP

|{{flagicon|POR}} Pedro Gonçalves

|Sporting CP

|{{flagicon|SPA}} Mario González

|Tondela

|{{flagicon|POR}} Ruben Amorim

|Sporting CP

|{{flagicon|POR}} André Almeida

|Vitória de Guimarães

=Annual awards=

Annual awards were announced on 8 July 2021.{{Cite web|url=https://www.ojogo.pt/futebol/noticias/kick-off-202122-os-premios-oficiais-e-o-sorteio-dos-campeonatos-ao-minuto-13918176.html|title=Kick-Off 2021/22: os premiados, as declarações e o sorteio dos calendários|website=O Jogo|access-date=8 July 2021}}

class="wikitable"
style="background-color: #eedd82" |Award

!style="background-color: #eedd82" |Winner

! style="background-color: #eedd82" | Club

Player of the Season

| {{flagicon|URU}} Sebastián Coates

|rowspan="2"|Sporting CP

Manager of the Season

| {{flagicon|POR}} Ruben Amorim

Goal of the Season

| {{flagicon|GNB}} Beto

|colspan="2"| Portimonense

Young Player of the Season

|rowspan="2"|{{flagicon|POR}} Pedro Gonçalves

|rowspan="2"|Sporting CP

Top scorer
Neno Fair-Play Prize

|{{flagicon|COL}} Luiz Díaz

|Porto

Club Fair-Play Prize

|colspan="2"| Moreirense

style="text-align:center;" |

{{Image label begin|image=Soccer Field Transparant.svg|width=175|font-size=80%}}

{{Image label|x=0.44|y=1.35|scale=175|text={{font color|White|Green|Adán}}}}

{{Image label|x=0.59|y=1.13|scale=175|text={{font color|White|Blue|Pepe}}}}

{{Image label|x=0.77|y=1.00|scale=175|text={{font color|White|Green|Porro}}}}

{{Image label|x=0.24|y=1.13|scale=175|text={{font color|White|Green|Coates}}}}

{{Image label|x=0.12|y=1.00|scale=175|text={{font color|White|Green|Mendes}}}}

{{Image label|x=0.78|y=0.60|scale=175|text={{font color|White|Green|Gonçalves}}}}

{{Image label|x=0.11|y=0.60|scale=175|text={{font color|White|Blue|Oliveira}}}}

{{Image label|x=0.40|y=0.71|scale=175|text={{font color|White|Green|Palhinha}}}}

{{Image label|x=0.15|y=0.41|scale=175|text={{font color|Red|White|Carlos}}}}

{{Image label|x=0.47|y=0.36|scale=175|text={{font color|White|Red|Seferovic}}}}

{{Image label|x=0.75|y=0.41|scale=175|text={{font color|White|Blue|Taremi}}}}

{{Image label end}}Team of the Year{{Cite web|title=Liga Nos Team of the season|url=https://www.ligaportugal.pt/en/epocas/20202021/noticias/geral/liga-nos/eis-o-onze-do-ano-da-liga-nos?bck=L2VuL2hvbWVwYWdlLw|access-date=10 June 2021|website=Liga Portugal}}

class="wikitable"
colspan="7"style="background-color: #eedd82"| Team of the Year
Goalkeeper

| colspan="6" align="center" | {{flagicon|SPA}} Antonio Adán (Sporting CP)

Defence

| align="center" | {{flagicon|SPA}} Pedro Porro (Sporting CP)

| colspan="2" align="center" | {{flagicon|POR}} Pepe (Porto)

| colspan="2" align="center" | {{flagicon|URU}} Sebastián Coates (Sporting CP)

| align="center" | {{flagicon|POR}} Nuno Mendes (Sporting CP)

Midfield

| colspan="2" align="center" | {{flagicon|POR}} João Palhinha (Sporting CP)

| colspan="2" align="center" | {{flagicon|POR}} Pedro Gonçalves (Sporting CP)

| colspan="2" align="center" | {{flagicon|POR}} Sérgio Oliveira (Porto)

Attack

| colspan="2" align="center" | {{flagicon|BRA}} Carlos (Santa Clara)

| colspan="2" align="center" | {{flagicon|SUI}} Haris Seferovic (Benfica)

| colspan="2" align="center" | {{flagicon|IRN}} Mehdi Taremi (Porto)

Number of teams by district

class="wikitable"
Rank

!District Football Associations

!Number

!Teams

rowspan=1 align=center|1

|{{flagicon image|Bandeira de Braga - 2.png}} Braga

rowspan=1 align=center|5align=center|Braga, Famalicão, Gil Vicente, Moreirense and Vitória de Guimarães
rowspan=1 align=center|2

|{{flagicon image|Flag of Porto.svg}} Porto

rowspan=1 align=center|4align=center|Boavista, Paços de Ferreira, Porto and Rio Ave
rowspan=1 align=center|3

|{{flagicon image|Bandeira municipal de Lisboa.png}} Lisbon

rowspan=1 align=center|3align=center|Belenenses SAD, Benfica and Sporting CP
rowspan=2 align=center|4

|{{flagicon image|Pt-far1.png}} Faro

rowspan=2 align=center|2align=center|Farense and Portimonense
{{flagicon image|FlagofFunchal.png}} Funchalalign=center|Marítimo and Nacional
rowspan=2 align=center|5

|{{flagicon image|Pt-pdl1.png}} Ponta Delgada

rowspan=2 align=center|1align=center|Santa Clara
{{flagicon image|Bandeira de Viseu.jpg}} Viseualign=center|Tondela

Notes

{{Reflist|group=note}}

References

{{Reflist}}

{{Primeira Liga seasons}}

{{2020–21 in Portuguese football}}

{{2020–21 in European football (UEFA)}}

{{DEFAULTSORT:Primeira Liga, 2020-21}}

Category:Primeira Liga seasons

Portugal

1