2019–20 FC Porto season

{{Infobox football club season

| club = Porto

| season = 2019–20

| chrtitle = President

| chairman = {{nowrap|Jorge Nuno Pinto da Costa}}

| mgrtitle = Head coach

| manager = Sérgio Conceição

| stadium = Estádio do Dragão

| league = Primeira Liga

| league result = 1st

| cup1 = Taça de Portugal

| cup1 result = Winners

| cup2 = Taça da Liga

| cup2 result = Runners-up

| cup3 = UEFA Champions League

| cup3 result = Third qualifying round

| cup4 = UEFA Europa League

| cup4 result = Round of 32

| league topscorer =
Moussa Marega
(12 goals)

| season topscorer =
Soares
(19 goals)

| highest attendance = 49,227
{{nowrap|Porto 3–2 Benfica}}
(8 February 2020)

| lowest attendance = 10,661
{{nowrap|Porto 1–0 Santa Clara}}
(19 December 2019)

| average attendance = 35,625

| prevseason = 2018–19

| nextseason = 2020–21

| pattern_la1 = _porto1920h

| pattern_b1 = _porto1920h

| pattern_ra1 = _porto1920h

| pattern_sh1 =

| pattern_so1 =

| leftarm1 = FFFFFF

| body1 = 0E00F7

| rightarm1 = FFFFFF

| shorts1 = 0E00F7

| socks1 = FFFFFF

| pattern_la2 = _porto1920a

| pattern_b2 = _porto1920a

| pattern_ra2 = _porto1920a

| pattern_sh2 =

| pattern_so2 =

| leftarm2 = FFE400

| body2 = FFE400

| rightarm2 = FFE400

| shorts2 = FFE400

| socks2 = FFE400

| pattern_la3 = _porto1920t

| pattern_b3 = _porto1920t

| pattern_ra3 = _porto1920t

| pattern_sh3 =

| pattern_so3 =

| leftarm3 = 002547

| body3 = 002547

| rightarm3 = 002547

| shorts3 = 002547

| socks3 = 002547

}}

The 2019–20 season was Futebol Clube do Porto's 110th competitive season and 86th consecutive season in the top flight of Portuguese football. It started with the UEFA Champions League third qualifying round on 7 August 2019 and concluded with the Taça de Portugal final against Benfica on 1 August 2020.

Porto won the 2019–20 Primeira Liga with two matches remaining, following a 2–0 home win against Sporting CP, and thus became Portuguese champions for the 29th time in their history.

Players

=Squad information=

{{fb si header |age=y}}

{{fb si player |n=2 |pos=DF |nb=POR |p={{sortname|Tomás|Esteves}} |age={{age|2002|4|3}} |eu=y |s={{sort|2019.0|2019}} |a=3 |g=0 |e=2024 |f=YS |cap= |vc= |notes= |bg= }}

{{fb si player |n=3 |pos=DF |nb=POR |p={{sortname||Pepe|Pepe (footballer, born 1983)}} |age={{age|1983|2|26}} |eu=y |s={{sort|2019.0|2019}} |a=58 |g=3 |e=2021 |f=Free |cap= |vc= |notes= |bg= }}

{{fb si player |n=4 |pos=DF |nb=POR |p={{sortname|Diogo|Leite|Diogo Leite (footballer, born 1999)}} |age={{age|1999|1|23}} |eu=y |s={{sort|2018.0|2018}} |a=24 |g=2 |e=2023 |f=YS |cap= |vc= |notes= |bg= }}

{{fb si player |n=5 |pos=DF |nb=ESP |p={{sortname|Iván|Marcano}} |age={{age|1987|6|23}} |eu=y |s={{sort|2019.0|2019}} |a=36 |g=6 |e=2023 |f=€3M |cap= |vc= |notes= |bg= }}

{{fb si player |n=7 |pos=FW |nb=COL |p={{sortname|Luis|Díaz|dab=footballer, born 1997}} |eu=n |age={{age|1997|1|13}} |s={{sort|2019.0|2019}} |a=50 |g=14 |e=2024 |f=€7M |cap= |vc= |notes= |bg= }}

{{fb si player |n=8 |pos=MF |nb=POR |p={{sortname|Romário|Baró}} |age={{age|2000|1|25}} |eu=y |s={{sort|2019.0|2019}} |a=17 |g=0 |e=2023 |f=YS |cap= |vc= |notes= |bg= }}

{{fb si player |n=9 |pos=FW |nb=CMR |p={{sortname|Vincent|Aboubakar}} |age={{age|1992|1|22}} |eu=n |s={{sort|2014.0|2014}} |a=119 |g=58 |e=2021 |f={{sort|0030|€11.2M}} |cap= |vc= |notes= |bg= }}

{{fb si player |n=10 |pos=FW |nb=JPN |p={{sortname|Shoya|Nakajima}} |eu=n |age={{age|1994|8|23}} |s={{sort|2019.0|2019}} |a=27 |g=1 |e=2024 |f=€12M |cap= |vc= |notes= |bg= }}

{{fb si player |n=11 |pos=FW |nb=MLI |p={{sortname|Moussa|Marega}} |age={{age|1991|4|14}} |eu=n |s={{sort|2016.0|2016}} |a=145 |g=59 |e=2021 |f={{sort|0038|€3.8M}} |cap= |vc= |notes= |bg= }}

{{fb si player |n=13 |pos=DF |nb=BRA |p={{sortname|Alex|Telles}} |age={{age|1992|12|15}} |eu=n |s={{sort|2016.0|2016}} |a=193 |g=21 |e=2021 |f={{sort|0065|€6.5M}} |cap= |vc= |notes=Second nationality: Italy |bg= }}

{{fb si player |n=15 |pos=MF |nb=SEN |p={{sortname|Mamadou|Loum}} |age={{age|1996|12|30}} |eu=n |s={{sort|2019.0|2019}} |a=14 |g=1 |e=2022 |f=€7.5M |cap= |vc= |notes= |bg= }}

{{fb si player |n=16 |pos=MF |nb=COL |p={{sortname|Mateus|Uribe}} |age={{age|1991|3|21}} |eu=n |s={{sort|2019.0|2019}} |a=41 |g=1 |e=2023 |f=€9M |cap= |vc= |notes= |bg= }}

{{fb si player |n=17 |pos=FW |nb=MEX |p={{sortname|Jesús|Corona|Jesús Manuel Corona}} |age={{age|1993|1|6}} |eu=n |s={{sort|2015.0|2015}} |a=220 |g=28 |e=2022 |f={{sort|0105|€10.5M}} |cap= |vc= |notes= |bg= }}

{{fb si player |n=18 |pos=DF |nb=POR |p={{sortname|Wilson|Manafá}} |age={{age|1994|7|23}} |eu=y |s={{sort|2019.0|2019}} |a=62 |g=2 |e=2023 |f=Undisclosed |cap= |vc= |notes= |bg= }}

{{fb si player |n=19 |pos=DF |nb=DRC |p={{sortname|Chancel|Mbemba}} |age={{age|1994|8|8}} |eu=n |s={{sort|2018.0|2018}} |a=48 |g=5 |e=2022 |f=€4.5M |cap= |vc= |notes= |bg= }}

{{fb si player |n=20 |pos=FW |nb=CPV |p={{sortname||Zé Luís}} |eu=n |age={{age|1991|1|24}} |s={{sort|2019.0|2019}} |a=31 |g=10 |e=2023 |f=€8.5M |cap= |vc= |notes= |bg= }}

{{fb si player |n=22 |pos=MF |nb=POR |p={{sortname|Danilo|Pereira|Danilo Pereira (Portuguese footballer)}} |age={{age|1991|9|9}} |eu=y |s={{sort|2015.0|2015}} |a=197 |g=19 |e=2022 |f={{sort|0028|€4.5M}} |cap= |vc= |notes=Captain |bg= }}

{{fb si player |n=25 |pos=MF |nb=BRA |p={{sortname||Otávio|Otávio Edmilson da Silva Monteiro}} |age={{age|1995|2|9}} |eu=n |s={{sort|2014.0|2014}} |a=140 |g=13 |e=2021 |f={{sort|0025|€2.5M}} |cap= |vc= |notes= |bg= }}

{{fb si player |n=27 |pos=MF |nb=POR |p={{sortname|Sérgio|Oliveira}} |age={{age|1992|6|2}} |eu=y |s={{sort|2015.0|2015}} |a=101 |g=14 |e=2021 |f=€1M |cap= |vc= |notes= |bg= }}

{{fb si player |n=29 |pos=FW |nb=BRA |p={{sortname||Soares|Francisco Soares}} |age={{age|1991|1|17}} |eu=n |s={{sort|2017.0|2017}} |a=131 |g=63 |e=2021 |f={{sort|0056|€5.6M}} |cap= |vc= |notes= |bg= }}

{{fb si player |n=31 |pos=GK |nb=POR |p={{sortname|Diogo|Costa}} |age={{age|1999|9|19}} |eu=y |s={{sort|2018.0|2018}} |a=15 |g=0 |e=2022 |f=YS |cap= |vc= |notes= |bg= }}

{{fb si player |n=32 |pos=GK |nb=ARG |p={{sortname|Agustín|Marchesín}} |age={{age|1988|3|13}} |eu=n |s={{sort|2019.0|2019}} |a=41 |g=0 |e=2023 |f=€7.5M |cap= |vc= |notes= |bg= }}

{{fb si player |n=49 |pos=FW |nb=POR |p={{sortname|Fábio|Silva|Fábio Silva (footballer, born 2002)}} |age={{Age|2002|7|19}} |eu=y |s={{sort|2019.0|2019}} |a=20 |g=3 |e=2022 |f=YS |cap= |vc= |notes= |bg= }}

{{fb si player |n=50 |pos=MF |nb=POR |p={{sortname|Fábio|Vieira|Fábio Vieira (footballer, born 2000)}} |age={{age|2000|5|30}} |eu=y |s={{sort|2020.0|2020}} |a=8 |g=2 |e=2022 |f=YS |cap= |vc= |notes= |bg= }}

{{fb si player |n=51 |pos=GK |nb=SEN |p={{sortname|Mouhamed|Mbaye}} |age={{age|1997|10|13}} |eu=n |s={{sort|2019.0|2019}} |a=1 |g=0 |e=2021 |f=YS |cap= |vc= |notes= |bg= }}

{{fb si player |n=57 |pos=MF |nb=POR |p={{sortname||João Mário|João Mário (footballer, born 2000)}} |age={{age|2000|1|3}} |eu=y |s={{sort|2020.0|2020}} |a=2 |g=0 |e=2022 |f=YS |cap= |vc= |notes= |bg= }}

{{fb si player |n=71 |pos=GK |nb=POR |p={{sortname|Francisco|Meixedo}} |age={{age|2001|5|19}} |eu=y |s={{sort|2020.0|2020}} |a=0 |g=0 |e=2021 |f=YS |cap= |vc= |notes= |bg= }}

{{fb si player |n=77 |pos=MF |nb=POR |p={{sortname|Vítor|Ferreira}} |age={{age|2000|2|13}} |eu=y |s={{sort|2020.0|2020}} |a=12 |g=0 |e=2024 |f=YS |cap= |vc= |notes= |bg= }}

{{Fb si footer |u=1 August 2020 |c=POR |ss=2019 |o=squad number |s= [https://www.fcporto.pt/en/football/fcporto/squad FC Porto] |date=August 2019}}

=Transfers and loans=

==In==

class="wikitable sortable" style="text-align:center;"
scope=col|{{Abbr|Date|Date of official transfer confirmation}}

!scope=col|Pos.

!scope=col|Name

!scope=col|Nationality

!scope=col|Age

!scope=col|Transferred from

!scope=col|Window

!scope=col|{{Abbr|Until|Year of contract end}}

!scope=col|Fee

!scope=col class=unsortable|{{Abbr|Ref.|Reference}}

{{dts|2019|06|08|format=dmy}}

|DF

|align=left|Renzo Saravia

|align=left|{{ARG}}

|{{age|1993|06|16}}

|align=left|Racing Club (Argentina)

|Summer

|2023

|€5.5M

|{{cite web|url=https://maisfutebol.iol.pt/mercado/08-06-2019/oficial-renzo-saravia-e-reforco-do-fc-porto|title=OFICIAL: Renzo Saravia é reforço do FC Porto|website=maisfutebol.iol.pt|language=pt|date=8 June 2019|accessdate=7 July 2019}}

{{dts|2019|07|01|format=dmy}}

|MF

|align=left|{{sortname|Mamadou|Loum}}

|align=left|{{SEN}}

|{{age|1996|12|30}}

|align=left|Braga (Portugal)

|Summer

|2022

|€7.5M

|{{cite web|url=https://www.ojogo.pt/futebol/1a-liga/porto/noticias/interior/oficial-loum-e-reforco-do-fc-porto-10518852.html|title=Oficial: Loum é reforço do FC Porto|website=www.ojogo.pt|language=pt|date=31 January 2019|accessdate=10 July 2019}}

{{dts|2019|07|05|format=dmy}}

|FW

|align=left|Shoya Nakajima

|align=left|{{JPN}}

|{{age|1994|08|23}}

|align=left|Al-Duhail (Qatar)

|Summer

|2024

|€12M

|{{cite web|url=https://maisfutebol.iol.pt/geral/05-07-2019/oficial-nakajima-e-reforco-do-fc-porto|title=OFICIAL: Nakajima é reforço do FC Porto|website=maisfutebol.iol.pt|language=pt|date=5 July 2019|accessdate=7 July 2019}}

{{dts|2019|07|05|format=dmy}}

|FW

|align=left|Zé Luís

|align=left|{{CPV}}

|{{age|1991|01|24}}

|align=left|Spartak Moscow (Russia)

|Summer

|2023

|€8.5M

|{{cite web|url=https://maisfutebol.iol.pt/transferencias/05-07-2019/oficial-ze-luis-e-reforco-do-fc-porto|title=OFICIAL: Zé Luís é reforço do FC Porto|website=maisfutebol.iol.pt|language=pt|date=5 July 2019|accessdate=7 July 2019}}

{{dts|2019|07|10|format=dmy}}

|FW

|align=left|Luis Díaz

|align=left|{{COL}}

|{{age|1997|01|13}}

|align=left|Atlético Junior (Colombia)

|Summer

|2024

|€7M

|{{cite web|url=https://maisfutebol.iol.pt/transferencias/10-07-2019/oficial-luis-diaz-e-reforco-do-fc-porto|title=OFICIAL: Luis Díaz é reforço do FC Porto|website=maisfutebol.iol.pt|language=pt|date=10 July 2019|accessdate=10 July 2019}}

{{dts|2019|07|11|format=dmy}}

|DF

|align=left|Iván Marcano

|align=left|{{ESP}}

|{{age|1987|06|23}}

|align=left|Roma (Italy)

|Summer

|2023

|€3M

|{{cite web|url=https://maisfutebol.iol.pt/geral/11-07-2019/fc-porto-anuncia-chegada-de-marcano|title=FC Porto oficializa Marcano|website=maisfutebol.iol.pt|language=pt|date=11 July 2019|accessdate=11 July 2019}}

{{dts|2019|08|02|format=dmy}}

|GK

|align=left|Agustín Marchesín

|align=left|{{ARG}}

|{{age|1988|03|13}}

|align=left|América (Mexico)

|Summer

|2023

|€7.5M

|{{cite web|url=https://www.ojogo.pt/futebol/1a-liga/porto/noticias/interior/oficial-marchesin-e-reforco-do-fc-porto-11174753.html|title=Marchesín oficializado no FC Porto: duração do contrato e número na camisola|website=www.ojogo.pt|language=pt|date=2 August 2019|accessdate=2 August 2019}}

{{dts|2019|08|05|format=dmy}}

|MF

|align=left|Mateus Uribe

|align=left|{{COL}}

|{{age|1991|03|21}}

|align=left|América (Mexico)

|Summer

|2023

|€9M

|{{cite web|url=https://maisfutebol.iol.pt/mateus-uribe/05-08-2019/oficial-uribe-no-fc-porto|title=OFICIAL: Matheus Uribe é jogador do FC Porto|website=maisfutebol.iol.pt|language=pt|date=5 August 2019|accessdate=6 August 2019}}

Total expending: {{decrease}} €60 million

==Out==

class="wikitable sortable" style="text-align:center;"
scope=col|{{Abbr|Date|Date of official transfer confirmation}}

!scope=col|Pos.

!scope=col|Name

!scope=col|Nationality

!scope=col|Age

!scope=col|Transferred to

!scope=col|Window

!scope=col|Fee

!scope=col class=unsortable|{{Abbr|Ref.|Reference}}

{{dts|2019|03|14|format=dmy}}

|DF

|align=left|Éder Militão

|align=left|{{BRA}}

|{{Age|1998|01|18}}

|align=left|Real Madrid (Spain)

|Summer

|€50M

|{{cite web|url=https://maisfutebol.iol.pt/internacional/fc-porto/oficial-real-madrid-anuncia-contratacao-de-militao|title=OFICIAL: Éder Militão é reforço do Real Madrid|website=maisfutebol.iol.pt|language=pt|date=14 March 2019|accessdate=7 July 2019}}

{{dts|2019|05|15|format=dmy}}

|GK

|align=left|José Sá

|align=left|{{POR}}

|{{Age|1993|01|17}}

|align=left|Olympiacos (Greece)

|Summer

|€2.5M

|{{cite web|url=https://maisfutebol.iol.pt/fc-porto/transferencias/oficial-jose-sa-vai-continuar-no-olympiakos|title=OFICIAL: José Sá vai continuar no Olympiakos|website=maisfutebol.iol.pt|language=pt|date=15 May 2019|accessdate=7 July 2019}}

{{dts|2019|05|28|format=dmy}}

|DF

|align=left|{{sortname

Felipe|Felipe (footballer, born 1989)}}

|align=left|{{BRA}}

|{{Age|1989|05|16}}

|align=left|Atlético Madrid (Spain)

|Summer

|€20M

|{{cite web|url=https://maisfutebol.iol.pt/geral/28-05-2019/oficial-felipe-no-atletico-madrid-por-20-milhoes|title=OFICIAL: Felipe no Atlético Madrid por 20 milhões|website=maisfutebol.iol.pt|language=pt|date=28 May 2019|accessdate=7 July 2019}}

{{dts|2019|07|01|format=dmy}}

|GK

|align=left|{{sortname

Fabiano|Fabiano Ribeiro de Freitas}}

|align=left|{{BRA}}

|{{Age|1988|02|29}}

|align=left|Unattached

|Summer

|Free

|{{cite web|url=https://maisfutebol.iol.pt/liga/fim-contrato/fc-porto-o-ultimo-dia-de-contrato-de-herrera-brahimi-e-mais-tres|title=FC Porto: o último dia de contrato de Herrera, Brahimi e mais três|website=maisfutebol.iol.pt|language=pt|date=30 June 2019|accessdate=7 July 2019}}

{{dts|2019|07|01|format=dmy}}

|DF

|align=left|Maxi Pereira

|align=left|{{URU}}

|{{Age|1984|06|08}}

|align=left|Unattached

|Summer

|Free

|{{cite web|url=https://maisfutebol.iol.pt/liga/fim-contrato/fc-porto-o-ultimo-dia-de-contrato-de-herrera-brahimi-e-mais-tres|title=FC Porto: o último dia de contrato de Herrera, Brahimi e mais três|website=maisfutebol.iol.pt|language=pt|date=30 June 2019|accessdate=7 July 2019}}

{{dts|2019|07|01|format=dmy}}

|FW

|align=left|Adrián López

|align=left|{{ESP}}

|{{Age|1988|01|08}}

|align=left|Osasuna (Spain)

|Summer

|Free

|{{cite web|url=https://maisfutebol.iol.pt/liga/fim-contrato/fc-porto-o-ultimo-dia-de-contrato-de-herrera-brahimi-e-mais-tres|title=FC Porto: o último dia de contrato de Herrera, Brahimi e mais três|website=maisfutebol.iol.pt|language=pt|date=30 June 2019|accessdate=7 July 2019}}

{{dts|2019|07|01|format=dmy}}

|FW

|align=left|Yacine Brahimi

|align=left|{{ALG}}

|{{Age|1990|02|08}}

|align=left|Al-Rayyan (Qatar)

|Summer

|Free

|{{cite web|url=https://maisfutebol.iol.pt/liga/fim-contrato/fc-porto-o-ultimo-dia-de-contrato-de-herrera-brahimi-e-mais-tres|title=FC Porto: o último dia de contrato de Herrera, Brahimi e mais três|website=maisfutebol.iol.pt|language=pt|date=30 June 2019|accessdate=7 July 2019}}

{{dts|2019|07|02|format=dmy}}

|FW

|align=left|{{sortname

Hernâni|Hernâni Fortes}}

|align=left|{{POR}}

|{{Age|1991|08|20}}

|align=left|Levante (Spain)

|Summer

|Free

|{{cite web|url=https://maisfutebol.iol.pt/fc-porto/02-07-2019/oficial-hernani-no-levante|title=OFICIAL: Hernâni no Levante|website=maisfutebol.iol.pt|language=pt|date=2 July 2019|accessdate=7 July 2019}}

{{dts|2019|07|03|format=dmy}}

|MF

|align=left|Héctor Herrera

|align=left|{{MEX}}

|{{Age|1990|04|19}}

|align=left|Atlético Madrid (Spain)

|Summer

|Free

|{{cite web|url=https://maisfutebol.iol.pt/internacional/espanha/oficial-herrera-no-atletico-madrid|title=OFICIAL: Herrera no Atlético Madrid|website=maisfutebol.iol.pt|language=pt|date=3 July 2019|accessdate=7 July 2019}}

{{dts|2019|07|15|format=dmy}}

|MF

|align=left|Óliver Torres

|align=left|{{ESP}}

|{{Age|1994|11|10}}

|align=left|Sevilla (Spain)

|Summer

|€12M

|{{cite web|url=https://maisfutebol.iol.pt/geral/15-07-2019/oficial-oliver-torres-troca-fc-porto-pelo-sevilha|title=OFICIAL: Óliver Torres troca FC Porto pelo Sevilha|website=maisfutebol.iol.pt|language=pt|date=15 July 2019|accessdate=15 July 2019}}

{{dts|2019|07|18|format=dmy}}

|MF

|align=left|Mikel Agu

|align=left|{{NGA}}

|{{Age|1993|05|27}}

|align=left|Vitória de Guimarães (Portugal)

|Summer

|Free

|{{cite web|url=https://www.ojogo.pt/futebol/1a-liga/vitoria-guimaraes/noticias/interior/mikel-agu-certo-no-v-guimaraes-e-fc-porto-fica-com-percentagem-do-passe-11124463.html|title=V. Guimarães contrata Mikel e FC Porto fica com percentagem do passe|website=www.ojogo.pt|language=pt|date=18 July 2019|accessdate=18 July 2019}}

{{dts|2019|08|06|format=dmy}}

|MF

|align=left|Galeno

|align=left|{{BRA}}

|{{Age|1997|10|22}}

|align=left|Braga (Portugal)

|Summer

|€3.5M

|{{cite web|url=https://maisfutebol.iol.pt/transferencias/06-08-2019/oficial-galeno-deixa-fc-porto-e-e-reforco-do-sp-braga|title=OFICIAL: Galeno deixa FC Porto e é reforço do Sp. Braga|website=maisfutebol.iol.pt|language=pt|date=6 August 2019|accessdate=7 August 2019}}

{{dts|2019|08|14|format=dmy}}

|GK

|align=left|{{sortname|João|Costa|João Costa (footballer, born 1996)}}

|align=left|{{POR}}

|{{age|1996|02|02}}

|align=left|Mirandés (Spain)

|Summer

|Free

|{{cite web|url=https://www.ojogo.pt/futebol/1a-liga/porto/noticias/interior/joao-costa-agora-ex-fc-porto-oficializado-em-espanha-11210250.html|title=João Costa, agora ex-FC Porto, oficializado em Espanha|website=www.ojogo.pt|language=pt|date=14 August 2019|accessdate=15 August 2019}}

{{dts|2020|01|10|format=dmy}}

|MF

|align=left|{{sortname|Bruno|Costa|Bruno Costa (footballer, born 1997)}}

|align=left|{{POR}}

|{{age|1997|04|19}}

|align=left|Portimonense (Portugal)

|Winter

|Undisclosed

|{{cite web|url=https://www.ojogo.pt/futebol/1a-liga/portimonense/noticias/portimonense-confirma-tres-reforcos-e-ha-um-detalhe-sobre-bruno-costa-11692432.html|title=Portimonense confirma três reforços e revela novidade sobre Bruno Costa|website=www.ojogo.pt|language=pt|date=10 January 2020|accessdate=11 January 2020}}

Total income: {{increase}} €88 million

==Loan return==

class="wikitable sortable" style="text-align:center;"
scope=col|{{Abbr|Date|Date of official transfer confirmation}}

!scope=col|Pos.

!scope=col|Name

!scope=col|Nationality

!scope=col|Age

!scope=col|Returned from

!scope=col|Window

{{dts|2019|07|01|format=dmy}}

|GK

|align=left|{{sortname|João|Costa|João Costa (footballer, born 1996)}}

|align=left|{{POR}}

|{{age|1996|02|02}}

|align=left|Cartagena (Spain)

|Summer

{{dts|2019|07|01|format=dmy}}

|DF

|align=left|{{sortname|Chidozie|Awaziem}}

|align=left|{{NGA}}

|{{age|1997|01|01}}

|align=left|Çaykur Rizespor (Turkey)

|Summer

{{dts|2019|07|01|format=dmy}}

|DF

|align=left|{{sortname

Jorge Fernandes|Jorge Fernandes (footballer, born 1997)}}

|align=left|{{POR}}

|{{age|1997|04|02}}

|align=left|Tondela (Portugal)

|Summer

{{dts|2019|07|01|format=dmy}}

|DF

|align=left|{{sortname|Saidy|Janko}}

|align=left|{{SWI}}

|{{age|1995|10|22}}

|align=left|Nottingham Forest (England)

|Summer

{{dts|2019|07|01|format=dmy}}

|DF

|align=left|{{sortname|Yordan|Osorio}}

|align=left|{{VEN}}

|{{age|1994|05|10}}

|align=left|Vitória de Guimarães (Portugal)

|Summer

{{dts|2019|07|01|format=dmy}}

|MF

|align=left|{{sortname|Mikel|Agu}}

|align=left|{{NGA}}

|{{age|1993|05|27}}

|align=left|Vitória de Setúbal (Portugal)

|Summer

{{dts|2019|07|01|format=dmy}}

|MF

|align=left|{{sortname|Sérgio|Oliveira}}

|align=left|{{POR}}

|{{age|1992|06|02}}

|align=left|PAOK (Greece)

|Summer

{{dts|2019|07|01|format=dmy}}

|FW

|align=left|{{sortname|Majeed|Waris|Abdul Majeed Waris}}

|align=left|{{GHA}}

|{{age|1991|09|19}}

|align=left|Nantes (France)

|Summer

{{dts|2019|07|01|format=dmy}}

|FW

|align=left|{{sortname

Galeno}}

|align=left|{{BRA}}

|{{age|1997|10|22}}

|align=left|Rio Ave (Portugal)

|Summer

==Loan out==

class="wikitable sortable" style="text-align:center;"
scope=col|{{Abbr|Date|Date of official transfer confirmation}}

!scope=col|Pos.

!scope=col|Name

!scope=col|Nationality

!scope=col|Age

!scope=col|Loaned to

!scope=col|Window

!scope=col|{{Abbr|Until|Year of contract end}}

!scope=col class=unsortable|{{Abbr|Ref.|Reference}}

{{dts|2019|06|14|format=dmy}}

|DF

|align=left|{{sortname|Jorge|Fernandes|Jorge Fernandes (footballer, born 1997)}}

|align=left|{{POR}}

|{{age|1997|04|02}}

|align=left|Kasımpaşa (Turkey)

|Summer

|30 June 2020

|{{cite web|url=https://maisfutebol.iol.pt/mercado/14-06-2019/oficial-fc-porto-empresta-jorge-fernandes-ao-kasimpasa|title=OFICIAL: FC Porto empresta Jorge Fernandes ao Kasimpasa|website=maisfutebol.iol.pt|language=pt|date=14 June 2019|accessdate=7 July 2019}}

{{dts|2019|07|01|format=dmy}}

|DF

|align=left|{{sortname|Saidy|Janko}}

|align=left|{{SWI}}

|{{age|1995|10|22}}

|align=left|Young Boys (Switzerland)

|Summer

|30 June 2020

|{{cite web|url=https://maisfutebol.iol.pt/geral/01-07-2019/oficial-fc-porto-volta-a-emprestar-janko|title=OFICIAL: FC Porto volta a emprestar Janko|website=maisfutebol.iol.pt|language=pt|date=1 July 2019|accessdate=7 July 2019}}

{{dts|2019|07|19|format=dmy}}

|FW

|align=left|{{sortname|André|Pereira|André Pereira (footballer)}}

|align=left|{{POR}}

|{{age|1995|5|5}}

|align=left|Vitória de Guimarães (Portugal)

|Summer

|30 June 2020

|{{cite web|url=https://www.ojogo.pt/futebol/1a-liga/porto/noticias/interior/fc-porto-ja-fechou-o-emprestimo-de-andre-pereira-11128544.html|title=FC Porto já fechou o empréstimo de André Pereira|website=www.ojogo.pt|language=pt|date=19 July 2019|accessdate=19 July 2019}}

{{dts|2019|07|30|format=dmy}}

|DF

|align=left|{{sortname

João Pedro|João Pedro (footballer, born 15 November 1996)}}

|align=left|{{BRA}}

|{{age|1996|11|15}}

|align=left|Bahia (Brazil)

|Summer

|31 December 2020

|{{cite web|url=https://www.ojogo.pt/futebol/1a-liga/porto/noticias/interior/joao-pedro-regressa-ao-brasil-por-emprestimo-do-fc-porto-11166163.html|title=João Pedro deixa o FC Porto e regressa ao Brasil|website=www.ojogo.pt|language=pt|date=30 July 2019|accessdate=31 July 2019}}

{{dts|2019|08|09|format=dmy}}

|FW

|align=left|{{sortname

Fernando Andrade|Fernando Andrade dos Santos}}

|align=left|{{BRA}}

|{{age|1993|01|08}}

|align=left|Sivasspor (Turkey)

|Summer

|30 June 2020

|{{cite web|url=https://maisfutebol.iol.pt/internacional/transferencias/oficial-fc-porto-empresta-fernando-andrade-ao-sivasspor|title=OFICIAL: FC Porto empresta Fernando Andrade ao Sivasspor|website=maisfutebol.iol.pt|language=pt|date=9 August 2019|accessdate=10 August 2019}}

{{dts|2019|08|15|format=dmy}}

|DF

|align=left|{{sortname|Chidozie|Awaziem}}

|align=left|{{NGA}}

|{{age|1997|01|01}}

|align=left|Leganés (Spain)

|Summer

|30 June 2020

|{{cite web|url=https://maisfutebol.iol.pt/fc-porto/transferencias/oficial-chidozie-emprestado-ao-leganes|title=OFICIAL: FC Porto empresta Chidozie ao Leganés|website=maisfutebol.iol.pt|language=pt|date=15 August 2019|accessdate=16 August 2019}}

{{dts|2019|08|27|format=dmy}}

|DF

|align=left|{{sortname|Diogo|Queirós}}

|align=left|{{POR}}

|{{age|1999|01|05}}

|align=left|Mouscron (Belgium)

|Summer

|30 June 2020

|{{cite web|url=https://maisfutebol.iol.pt/fc-porto/transferencias/oficial-mouscron-confirma-diogo-queiros-por-emprestimo|title=OFICIAL: Mouscron confirma Diogo Queirós por empréstimo|website=maisfutebol.iol.pt|language=pt|date=27 August 2019|accessdate=28 August 2019}}

{{dts|2019|08|31|format=dmy}}

|GK

|align=left|{{sortname

Vaná}}

|align=left|{{BRA}}

|{{age|1991|04|25}}

|align=left|Famalicão (Portugal)

|Summer

|30 June 2020

|{{cite web|url=https://www.noticiasaominuto.com/desporto/1313378/oficial-fc-porto-empresta-vana-ao-famalicao|title=Oficial: FC Porto empresta Vaná ao Famalicão|website=www.noticiasaominuto.com|language=pt|date=31 August 2019|accessdate=31 August 2019}}

{{dts|2019|08|31|format=dmy}}

|DF

|align=left|{{sortname|Yordan|Osorio}}

|align=left|{{VEN}}

|{{age|1994|05|10}}

|align=left|Zenit Saint Petersburg (Russia)

|Summer

|30 June 2020

|{{cite web|url=https://www.noticiasaominuto.com/desporto/1313436/oficial-fc-porto-empresta-osorio-ao-zenit|title=Oficial: FC Porto empresta Osorio ao Zenit|website=www.noticiasaominuto.com|language=pt|date=31 August 2019|accessdate=31 August 2019}}

{{dts|2020|02|28|format=dmy}}

|DF

|align=left|Renzo Saravia

|align=left|{{ARG}}

|{{age|1993|06|16}}

|align=left|Internacional (Brazil)

|Winter

|30 June 2020

|{{cite web|url=https://maisfutebol.iol.pt/fc-porto/28-02-2020/oficial-renzo-saravia-no-internacional-de-porto-alegre|title=OFICIAL: Renzo Saravia no Internacional de Porto Alegre|website=maisfutebol.iol.pt|language=pt|date=28 February 2020|accessdate=28 February 2020}}

Technical staff

{{See also|List of FC Porto coaches}}

{| class=wikitable

|-

!Position

!Staff

|-

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

|-

|rowspan=2| Assistant coaches || {{flagicon|POR}} Vítor Bruno

|-

|{{flagicon|FRA}} Siramana Dembélé

|-

| Goalkeeper coach || {{flagicon|POR}} Diamantino Figueiredo

|-

| Exercise Physiologist || {{flagicon|POR}} Eduardo Oliveira

|-

{{Fb cs footer

|u=15 July 2019

|s=[https://www.fcporto.pt/en/football/fcporto/squad FC Porto]|date=Jul 2019}}

Pre-season and friendlies

{{legend2|#CCFFCC|Win|border=1px solid #AAAAAA}}

{{legend2|#FFFFCC|Draw|border=1px solid #AAAAAA}}

{{legend2|#FFCCCC|Loss|border=1px solid #AAAAAA}}

{{football box collapsible

|round = Friendly

|date = 6 July 2019

|time = 10:00 WEST

|team1 = Porto {{flagicon|POR}}

|score = 6–0

|team2 = {{flagicon|POR}} Águeda

|report = https://www.zerozero.pt/jogo.php?id=6960553

|goals1 =

|goals2 =

|stadium = CTFD PortoGaia

|location = Olival, Portugal

|attendance =

|referee =

|result = W

}}

{{football box collapsible

|round = Friendly

|date = 10 July 2019

|time = 10:00 WEST

|team1 = Porto {{flagicon|POR}}

|score = 4–0

|team2 = {{flagicon|POR}} Varzim

|report = https://www.zerozero.pt/jogo.php?id=6941649

|goals1 =

|goals2 =

|stadium = CTFD PortoGaia

|location = Olival, Portugal

|attendance =

|referee =

|result = W

}}

{{football box collapsible

|round = Friendly

|date = 13 July 2019

|time = 11:00 WEST

|team1 = Porto {{flagicon|POR}}

|score = 1–0

|team2 = {{flagicon|POR}} Penafiel

|report = https://www.zerozero.pt/jogo.php?id=6972126

|goals1 =

|goals2 =

|stadium = CTFD PortoGaia

|location = Olival, Portugal

|attendance =

|referee =

|result = W

}}

{{football box collapsible

|round = Friendly

|date = 16 July 2019

|time = 20:30 WEST

|team1 = Porto {{flagicon|POR}}

|score = 1–0

|report = https://www.zerozero.pt/jogo.php?id=6913557

|team2 = {{flagicon|ENG}} Fulham

|goals1 =

|goals2 =

|stadium = Estádio Municipal de Albufeira

|location = Albufeira, Portugal

|attendance =

|referee = Tiago Martins

|result = W

}}

{{football box collapsible

|round = Copa Ibérica

|date = 19 July 2019

|time = 20:30 WEST

|team1 = Porto {{flagicon|POR}}

|score = 1–1

|report = https://www.zerozero.pt/jogo.php?id=6918433

|team2 = {{flagicon|SPA}} Betis

|goals1 =

|goals2 =

|stadium = Estádio Municipal de Portimão

|location = Portimão, Portugal

|attendance =

|referee = António Nobre

|result = D

|penaltyscore = 5–4

|penalties1 =

|penalties2 =

}}

{{football box collapsible

|round = Copa Ibérica

|date = 21 July 2019

|time = 20:30 WEST

|team1 = Porto {{flagicon|POR}}

|score = 2–1

|report = https://www.zerozero.pt/match.php?id=6918435

|team2 = {{flagicon|SPA}} Getafe

|goals1 =

|goals2 =

|stadium = Estádio Municipal de Portimão

|location = Portimão, Portugal

|attendance =

|referee = Quitério Almeida

|result = W

}}

{{football box collapsible

|round = Friendly

|date = 24 July 2019

|time =

|team1 = Porto {{flagicon|POR}}

|score = 4–2

|report = https://www.zerozero.pt/jogo.php?id=6990809

|team2 = {{flagicon|POR}} Farense

|goals1 =

|goals2 =

|stadium = Municipal de Lagos

|location = Lagos, Portugal

|attendance =

|referee =

|result = W

}}

{{football box collapsible

|round = Presentation

|date = 27 July 2019

|time = 19:00 WEST

|team1 = Porto {{flagicon|POR}}

|score = 0–1

|report = https://www.zerozero.pt/jogo.php?id=6918436

|team2 = {{flagicon|FRA}} Monaco

|goals1 =

|goals2 =

|stadium = Estádio do Dragão

|location = Porto, Portugal

|attendance = 45,217

|referee =

|result = L

}}

{{football box collapsible

|round = Friendly

|date = 31 July 2019

|time =

|team1 = Porto {{flagicon|POR}}

|score = 1–0

|team2 = {{flagicon|POR}} Braga

|report = https://www.zerozero.pt/jogo.php?id=6999711

|goals1 =

|goals2 =

|stadium = CTFD PortoGaia

|location = Olival, Portugal

|attendance =

|referee =

|result = W

}}

{{football box collapsible

|round = Friendly

|date = 31 July 2019

|time =

|team1 = Porto {{flagicon|POR}}

|score = 6–2

|team2 = {{flagicon|POR}} Porto B

|report = https://www.zerozero.pt/jogo.php?id=7001061

|goals1 =

|goals2 =

|stadium = CTFD PortoGaia

|location = Olival, Portugal

|attendance =

|referee =

|result = W

}}

Competitions

=Overall record=

{{Fb overview2

|c=4

|c1=Primeira Liga |fm1=10 August 2019 |lm1=26 July 2020 |sr1=Matchday 1 |fp1=Winners |w1=26 |d1=4 |l1=4 |f1=74 |a1=22

|c2=Taça de Portugal |fm2=19 October 2019 |lm2=1 August 2020 |sr2=Third round |fp2=Winners |w2=6 |d2=1 |l2=0 |f2=18 |a2=3

|c3=Taça da Liga |fm3=25 September 2019 |lm3=25 January 2020 |sr3=Group stage |fp3=Runners-up |w3=4 |d3=0 |l3=1 |f3=10 |a3=4

|c4=UEFA Champions League|fm4=7 August 2019 |lm4=13 August 2019 |sr4=Third qualifying round |fp4=Third qualifying round |w4=1 |d4=0 |l4=1 |f4=3|a4=3

|c5=UEFA Europa League |fm5=19 September 2019|lm5=27 February 2020 |sr5=Group stage|fp5=Round of 32|w5=3 |d5=1 |l5=4 |f5=10 |a5=14

|u=1 August 2020

|s=

}}

=Primeira Liga=

{{main|2019–20 Primeira Liga}}

==League table==

{{2019–20 Primeira Liga table|showteam=POR}}

==Results summary==

{{Fb_rs |hw=15 |hd=1 |hl=1 |hgf=44 |hga=7 |aw=11 |ad=3 |al=3 |agf=30 |aga=15}}

{{Fb_rs footer|u=25 July 2020|s=[http://www.ligaportugal.pt/en/liga/classificacao/20192020/liganos Liga Portugal]|date=August 2019}}

==Results by round==

{{#invoke:sports rbr table|table|legendpos=b|header=Round

|label1= Ground

|res1=A/H/A/H/A/H/A/H/A/H/A/H/A/H/A/A/H/H/A/H/A/H/A/H/A/H/A/H/A/H/A/H/H/A

|label2= Result

|res2=L/W/W/W/W/W/W/W/D/W/W/W/D/W/W/W/L/W/W/W/W/W/W/D/L/W/D/W/W/W/W/W/W/L

|label3= Position

|res3=14/6/3/3/3/3/3/1/2/2/2/2/2/2/2/2/2/2/2/2/2/2/1/1/2/1/2/1/1/1/1/1/1/1

|text_H=Home|text_A=Away

|color_W=green2|text_W=Win

|color_D=yellow2|text_D=Draw

|color_L=red2|text_L=Loss

|color_1=1st|color_2=2nd|color_3=3rd|color_18-=red1

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

|updated=25 July 2020

}}

==Matches==

{{football box collapsible

|round = 1

|date = 10 August 2019

|time = 19:00 WEST

|team1 = Gil Vicente

|score = 2–1

|report = https://www.zerozero.pt/jogo.php?id=6958511

|team2 = Porto

|goals1 =

|goals2 =

|stadium = Estádio Cidade de Barcelos

|location = Barcelos

|attendance = 10,962

|referee = Nuno Almeida

|result = L

}}

{{football box collapsible

|round = 2

|date = 17 August 2019

|time = 21:30 WEST

|team1 = Porto

|score = 4–0

|report = https://www.zerozero.pt/jogo.php?id=6958524

|team2 = Vitória de Setúbal

|goals1 =

|goals2 =

|stadium = Estádio do Dragão

|location = Porto

|attendance = 38,820

|referee = Manuel Mota

|result = W

}}

{{football box collapsible

|round = 3

|date = 24 August 2019

|time = 19:00 WEST

|team1 = Benfica

|score = 0–2

|report = https://www.zerozero.pt/jogo.php?id=6958530

|team2 = Porto

|goals1 =

|goals2 =

|stadium = Estádio da Luz

|location = Lisbon

|attendance = 62,735

|referee = Jorge Sousa

|result = W

}}

{{football box collapsible

|round = 4

|date = 1 September 2019

|time = 18:30 WEST

|team1 = Porto

|score = 3–0

|report = https://www.zerozero.pt/jogo.php?id=6958545

|team2 = Vitória de Guimarães

|goals1 =

|goals2 =

|stadium = Estádio do Dragão

|location = Porto

|attendance = 47,711

|referee = Carlos Xistra

|result = W

}}

{{football box collapsible

|round = 5

|date = 15 September 2019

|time = 18:00 WEST

|team1 = Portimonense

|score = 2–3

|report = https://www.zerozero.pt/jogo.php?id=6958555

|team2 = Porto

|goals1 =

|goals2 =

|stadium = Estádio Municipal de Portimão

|location = Portimão

|attendance = 5,499

|referee = Rui Costa

|result = W

}}

{{football box collapsible

|round = 6

|date = 22 September 2019

|time = 20:30 WEST

|team1 = Porto

|score = 2–0

|report = https://www.zerozero.pt/jogo.php?id=6958562

|team2 = Santa Clara

|goals1 =

|goals2 =

|stadium = Estádio do Dragão

|location = Porto

|attendance = 36,120

|referee = Luís Godinho

|result = W

}}

{{football box collapsible

|round = 7

|date = 29 September 2019

|time = 20:00 WEST

|team1 = Rio Ave

|score = 0–1

|report = https://www.zerozero.pt/jogo.php?id=6958573

|team2 = Porto

|goals1 =

|goals2 =

|stadium = Estádio dos Arcos

|location = Vila do Conde

|attendance = 4,411

|referee = Nuno Almeida

|result = W

}}

{{football box collapsible

|round = 8

|date = 27 October 2019

|time = 17:30 WEST

|team1 = Porto

|score = 3–0

|report = https://www.zerozero.pt/jogo.php?id=6958577

|team2 = Famalicão

|goals1 =

|goals2 =

|stadium = Estádio do Dragão

|location = Porto

|attendance = 47,807

|referee = Fábio Veríssimo

|result = W

}}

{{football box collapsible

|round = 9

|date = 30 October 2019

|time = 18:45 WEST

|team1 = Marítimo

|score = 1–1

|report = https://www.zerozero.pt/jogo.php?id=6958589

|team2 = Porto

|goals1 =

|goals2 =

|stadium = Estádio dos Barreiros

|location = Funchal

|attendance = 9,381

|referee = Jorge Sousa

|result = D

}}

{{football box collapsible

|round = 10

|date = 3 November 2019

|time = 20:00 WEST

|team1 = Porto

|score = 1–0

|report = https://www.zerozero.pt/jogo.php?id=6958596

|team2 = Desportivo das Aves

|goals1 =

|goals2 =

|stadium = Estádio do Dragão

|location = Porto

|attendance = 29,205

|referee = Hélder Malheiro

|result = W

}}

{{football box collapsible

|round = 11

|date = 10 November 2019

|time = 21:00 WEST

|team1 = Boavista

|score = 0–1

|report = https://www.zerozero.pt/jogo.php?id=6958603

|team2 = Porto

|goals1 =

|goals2 =

|stadium = Estádio do Bessa

|location = Porto

|attendance = 16,514

|referee = Nuno Almeida

|result = W

}}

{{football box collapsible

|round = 12

|date = 2 December 2019

|time = 20:45 WEST

|team1 = Porto

|score = 2–0

|report = https://www.zerozero.pt/jogo.php?id=6958614

|team2 = Paços de Ferreira

|goals1 =

|goals2 =

|stadium = Estádio do Dragão

|location = Porto

|attendance = 26,215

|referee = Tiago Martins

|result = W

}}

{{football box collapsible

|round = 13

|date = 8 December 2019

|time = 20:00 WEST

|team1 = Belenenses

|score = 1–1

|report = https://www.zerozero.pt/jogo.php?id=6958622

|team2 = Porto

|goals1 =

|goals2 =

|stadium = Estádio Nacional

|location = Oeiras

|attendance = 5,153

|referee = João Pinheiro

|result = D

}}

{{football box collapsible

|round = 14

|date = 16 December 2019

|time = 20:15 WEST

|team1 = Porto

|score = 3–0

|report = https://www.zerozero.pt/jogo.php?id=6958630

|team2 = Tondela

|goals1 =

|goals2 =

|stadium = Estádio do Dragão

|location = Porto

|attendance = 19,829

|referee = Manuel Oliveira

|result = W

}}

{{football box collapsible

|round = 15

|date = 5 January 2020

|time = 17:30 WEST

|team1 = Sporting CP

|score = 1–2

|report = https://www.zerozero.pt/jogo.php?id=6958645

|team2 = Porto

|goals1 =

|goals2 =

|stadium = Estádio José Alvalade

|location = Lisbon

|attendance = 41,247

|referee = Jorge Sousa

|result = W

}}

{{football box collapsible

|round = 16

|date = 10 January 2020

|time = 21:15 WEST

|team1 = Moreirense

|score = 2–4

|report = https://www.zerozero.pt/jogo.php?id=6958649

|team2 = Porto

|goals1 =

|goals2 =

|stadium = Parque de Jogos Comendador Joaquim de Almeida Freitas

|location = Moreira de Cónegos

|attendance = 3,525

|referee = Artur Soares Dias

|result = W

}}

{{football box collapsible

|round = 17

|date = 17 January 2020

|time = 19:00 WEST

|team1 = Porto

|score = 1–2

|report = https://www.zerozero.pt/jogo.php?id=6958661

|team2 = Braga

|goals1 =

|goals2 =

|stadium = Estádio do Dragão

|location = Porto

|attendance = 35,611

|referee = Carlos Xistra

|result = L

}}

{{football box collapsible

|round = 18

|date = 28 January 2020

|time = 20:15 WEST

|team1 = Porto

|score = 2–1

|report = https://www.zerozero.pt/jogo.php?id=6958664

|team2 = Gil Vicente

|goals1 =

|goals2 =

|stadium = Estádio do Dragão

|location = Porto

|attendance = 18,605

|referee = Rui Oliveira

|result = W

}}

{{football box collapsible

|round = 19

|date = 1 February 2020

|time = 18:00 WEST

|team1 = Vitória de Setúbal

|score = 0–4

|report = https://www.zerozero.pt/jogo.php?id=6958677

|team2 = Porto

|goals1 =

|goals2 =

|stadium = Estádio do Bonfim

|location = Setúbal

|attendance = 7,390

|referee = Manuel Mota

|result = W

}}

{{football box collapsible

|round = 20

|date = 8 February 2020

|time = 20:30 WEST

|team1 = Porto

|score = 3–2

|report = https://www.zerozero.pt/jogo.php?id=6958683

|team2 = Benfica

|goals1 =

|goals2 =

|stadium = Estádio do Dragão

|location = Porto

|attendance = 49,227

|referee = Artur Soares Dias

|result = W

}}

{{football box collapsible

|round = 21

|date = 16 February 2020

|time = 17:30 WEST

|team1 = Vitória de Guimarães

|score = 1–2

|report = https://www.zerozero.pt/jogo.php?id=6958698

|team2 = Porto

|goals1 =

|goals2 =

|stadium = Estádio D. Afonso Henriques

|location = Guimarães

|attendance = 23,896

|referee = Luís Godinho

|result = W

}}

{{football box collapsible

|round = 22

|date = 23 February 2020

|time = 20:30 WEST

|team1 = Porto

|score = 1–0

|report = https://www.zerozero.pt/jogo.php?id=6958708

|team2 = Portimonense

|goals1 =

|goals2 =

|stadium = Estádio do Dragão

|location = Porto

|attendance = 40,129

|referee = Hugo Miguel

|result = W

}}

{{football box collapsible

|round = 23

|date = 2 March 2020

|time = 19:30 WEST

|team1 = Santa Clara

|score = 0–2

|report = https://www.zerozero.pt/jogo.php?id=6958715

|team2 = Porto

|goals1 =

|goals2 =

|stadium = Estádio de São Miguel

|location = Ponta Delgada

|attendance = 6,271

|referee = Carlos Xistra

|result = W

}}

{{football box collapsible

|round = 24

|date = 7 March 2020

|time = 20:30 WEST

|team1 = Porto

|score = 1–1

|report = https://www.zerozero.pt/jogo.php?id=6958726

|team2 = Rio Ave

|goals1 =

|goals2 =

|stadium = Estádio do Dragão

|location = Porto

|attendance = 38,219

|referee = Artur Soares Dias

|result = D

}}

{{football box collapsible

|round = 25

|date = 3 June 2020

|time = 21:15 WEST

|team1 = Famalicão

|score = 2–1

|report = https://www.zerozero.pt/jogo.php?id=6958730

|team2 = Porto

|goals1 =

|goals2 =

|stadium = Estádio Municipal 22 de Junho

|location = Vila Nova de Famalicão

|attendance = –

|referee = Nuno Almeida

|result = L

}}

{{football box collapsible

|round = 26

|date = 10 June 2020

|time = 21:30 WEST

|team1 = Porto

|score = 1–0

|report = https://www.zerozero.pt/jogo.php?id=6958742

|team2 = Marítimo

|goals1 =

|goals2 =

|stadium = Estádio do Dragão

|location = Porto

|attendance = –

|referee = Tiago Martins

|result = W

}}

{{football box collapsible

|round = 27

|date = 16 June 2020

|time = 21:15 WEST

|team1 = Desportivo das Aves

|score = 0–0

|report = https://www.zerozero.pt/jogo.php?id=6958749

|team2 = Porto

|goals1 =

|goals2 =

|stadium = Estádio do CD Aves

|location = Vila das Aves

|attendance = –

|referee = Carlos Xistra

|result = D

}}

{{football box collapsible

|round = 28

|date = 23 June 2020

|time = 21:15 WEST

|team1 = Porto

|score = 4–0

|report = https://www.zerozero.pt/jogo.php?id=6958756

|team2 = Boavista

|goals1 =

|goals2 =

|stadium = Estádio do Dragão

|location = Porto

|attendance = –

|referee = Artur Soares Dias

|result = W

}}

{{football box collapsible

|round = 29

|date = 29 June 2020

|time = 21:15 WEST

|team1 = Paços de Ferreira

|score = 0–1

|report = https://www.zerozero.pt/jogo.php?id=6958767

|team2 = Porto

|goals1 =

|goals2 =

|stadium = Estádio da Mata Real

|location = Paços de Ferreira

|attendance = –

|referee = Luís Godinho

|result = W

}}

{{football box collapsible

|round = 30

|date = 5 July 2020

|time = 21:30 WEST

|team1 = Porto

|score = 5–0

|report = https://www.zerozero.pt/jogo.php?id=6958775

|team2 = Belenenses

|goals1 =

|goals2 =

|stadium = Estádio do Dragão

|location = Porto

|attendance = –

|referee = Rui Oliveira

|result = W

}}

{{football box collapsible

|round = 31

|date = 9 July 2020

|time = 19:15 WEST

|team1 = Tondela

|score = 1–3

|report = https://www.zerozero.pt/jogo.php?id=6958783

|team2 = Porto

|goals1 =

|goals2 =

|stadium = Estádio João Cardoso

|location = Tondela

|attendance = –

|referee = Fábio Veríssimo

|result = W

}}

{{football box collapsible

|round = 32

|date = 15 July 2020

|time = 21:30 WEST

|team1 = Porto

|score = 2–0

|report = https://www.zerozero.pt/jogo.php?id=6958798

|team2 = Sporting CP

|goals1 =

|goals2 =

|stadium = Estádio do Dragão

|location = Porto

|attendance = –

|referee = João Pinheiro

|result = W

}}

{{football box collapsible

|round = 33

|date = 20 July 2020

|time = 21:15 WEST

|team1 = Porto

|score = 6–1

|report = https://www.zerozero.pt/jogo.php?id=6958802

|team2 = Moreirense

|goals1 =

|goals2 =

|stadium = Estádio do Dragão

|location = Porto

|attendance = –

|referee = Carlos Xistra

|result = W

}}

{{football box collapsible

|round = 34

|date = 25 July 2020

|time = 21:15 WEST

|team1 = Braga

|score = 2–1

|report = https://www.zerozero.pt/jogo.php?id=6958814

|team2 = Porto

|goals1 =

|goals2 =

|stadium = Estádio Municipal de Braga

|location = Braga

|attendance = –

|referee = Jorge Sousa

|result = L

}}

=Taça de Portugal=

{{main|2019–20 Taça de Portugal}}

==Third round==

{{football box collapsible

|date = 19 October 2019

|time = 18:45 WEST

|team1 = SC Coimbrões (CP)

|score = 0–5

|report = https://www.zerozero.pt/jogo.php?id=7151015

|team2 = (I) Porto

|goals1 =

|goals2 =

|stadium = Estádio Municipal Jorge Sampaio

|location= Pedroso

|attendance =

|referee = Rui Oliveira

|result = W

}}

==Fourth round==

{{football box collapsible

|date = 24 November 2019

|time = 17:30 WEST

|team1 = Porto (I)

|score = 4–0

|report = https://www.zerozero.pt/jogo.php?id=7213174

|team2 = (I) Vitória de Setúbal

|goals1 =

|goals2 =

|stadium = Estádio do Dragão

|location= Porto

|attendance = 22,148

|referee = Carlos Xistra

|result = W

}}

==Fifth round==

{{football box collapsible

|date = 19 December 2019

|time = 19:15 WEST

|team1 = Porto (I)

|score = 1–0

|report = https://www.zerozero.pt/jogo.php?id=7251286

|team2 = (I) Santa Clara

|goals1 =

|goals2 =

|stadium = Estádio do Dragão

|location = Porto

|attendance = 10,661

|referee = Fábio Veríssimo

|result = W

}}

==Quarter-finals==

{{football box collapsible

|date = 14 January 2020

|time = 18:00 WEST

|team1 = Porto (I)

|score = 2–1

|report = https://www.zerozero.pt/jogo.php?id=7269785

|team2 = (II) Varzim

|goals1 =

|goals2 =

|stadium = Estádio do Dragão

|location = Porto

|attendance = 13,179

|referee = Rui Costa

|result = W

}}

==Semi-finals==

{{football box collapsible

|round = First leg

|date = 4 February 2020

|time = 20:45 WEST

|team1 = Académico de Viseu (II)

|score = 1–1

|report = https://www.zerozero.pt/jogo.php?id=7269787

|team2 = (I) Porto

|goals1 =

|goals2 =

|stadium = Estádio do Fontelo

|location = Viseu

|attendance = 6,043

|referee = João Pinheiro

|result = D

}}

{{football box collapsible

|round = Second leg

|date = 12 February 2020

|time = 20:45 WEST

|team1 = Porto (I)

|score = 3–0

|aggregatescore = 4–1

|report = https://www.zerozero.pt/jogo.php?id=7269789

|team2 = (II) Académico de Viseu

|goals1 =

|goals2 =

|stadium = Estádio do Dragão

|location = Porto

|attendance = 19,929

|referee = Manuel Oliveira

|result = W

}}

==Final==

{{football box collapsible

|date = 1 August 2020

|time = 20:45 WEST

|team1 = Benfica (I)

|score = 1–2

|report = https://www.zerozero.pt/jogo.php?id=7332759

|team2 = (I) Porto

|goals1 =

|goals2 =

|stadium = Estádio Cidade de Coimbra

|location = Coimbra

|attendance = –

|referee = Artur Soares Dias

|result = W

}}

=Taça da Liga=

{{main|2019–20 Taça da Liga}}

==Third round==

{{main|2019–20 Taça da Liga#Group D}}

{{#invoke:Sports table|main|style=WDL

|class_rules=Tiebreakers

|source=[https://www.ligaportugal.pt/pt/liga/classificacao/20192020/allianzcup Liga Portugal]

|team1=POR |team2=CHA |team3=CAS |team4=STC

|update=complete

|win_POR=3 |draw_POR=0 |loss_POR=0 |gf_POR=8 |ga_POR=2

|win_CHA=2 |draw_CHA=0 |loss_CHA=1 |gf_CHA=4 |ga_CHA=4

|win_CAS=1 |draw_CAS=0 |loss_CAS=2 |gf_CAS=2 |ga_CAS=5

|win_STC=0 |draw_STC=0 |loss_STC=3 |gf_STC=1 |ga_STC=4

|name_POR=Porto

|name_CHA=Chaves

|name_CAS=Casa Pia

|name_STC=Santa Clara

|res_col_header=Q

|result1=KO

|col_KO=green1 |text_KO=Advanced to knockout phase

}}

{{football box collapsible

|round = 1

|date = 25 September 2019

|time = 21:00 WEST

|team1 = Porto

|score = 1–0

|report = https://www.zerozero.pt/jogo.php?id=7057850

|team2 = Santa Clara

|goals1 =

|goals2 =

|stadium = Estádio do Dragão

|location = Porto

|attendance = 25,004

|referee = António Nobre

|result = W

}}

{{football box collapsible

|round = 2

|date = 5 December 2019

|time = 20:15 WET

|team1 = Casa Pia

|score = 0–3

|report = https://www.zerozero.pt/jogo.php?id=7057851

|team2 = Porto

|goals1 =

|goals2 =

|stadium = Estádio Pina Manique

|location = Lisbon

|attendance = 1,254

|referee = Vítor Ferreira

|result = W

}}

{{football box collapsible

|round = 3

|date = 22 December 2019

|time = 19:15 WET

|team1 = Chaves

|score = 2–4

|report = https://www.zerozero.pt/jogo.php?id=7057853

|team2 = Porto

|goals1 =

  • Platiny {{goal|78}}
  • André Luís {{goal|84}}

|goals2 =

|stadium = Estádio Municipal de Chaves

|location = Chaves

|attendance = 5,276

|referee = Carlos Xistra

|result = W

}}

==Semi-finals==

{{football box collapsible

|date = 22 January 2020

|time = 19:45 WET

|team1 = Vitória de Guimarães

|score = 1–2

|report = https://www.zerozero.pt/jogo.php?id=7058102

|team2 = Porto

|goals1 =

|goals2 =

|stadium = Estádio Municipal de Braga

|location = Braga

|attendance = 13,107

|referee = Jorge Sousa

|result = W

}}

==Final==

{{football box collapsible

|date = 25 January 2020

|time = 19:45 WET

|team1 = Braga

|score = 1–0

|report = https://www.zerozero.pt/jogo.php?id=7058103

|team2 = Porto

|goals1 =

|goals2 =

|stadium = Estádio Municipal de Braga

|location = Braga

|attendance = 23,794

|referee = Luís Godinho

|result = L

}}

=UEFA Champions League=

{{main|2019–20 UEFA Champions League}}

==Third qualifying round==

{{main|2019–20 UEFA Champions League qualifying phase and play-off round#League Path}}

{{football box collapsible

|round = First leg

|date = 7 August 2019

|time = 18:00 WEST

|team1 = Krasnodar {{flagicon|RUS}}

|score = 0–1

|report = https://www.zerozero.pt/jogo.php?id=6987493

|team2 = {{flagicon|POR}} Porto

|goals1 =

|goals2 =

|stadium = Krasnodar Stadium

|location = Krasnodar, Russia

|attendance = 34,874

|referee = Tobias Stieler (Germany)

|result = W

}}

{{football box collapsible

|round = Second leg

|date = 13 August 2019

|time = 20:00 WEST

|team1 = Porto {{flagicon|POR}}

|score = 2–3

|report = https://www.zerozero.pt/jogo.php?id=6987531

|team2 = {{flagicon|RUS}} Krasnodar

|goals1 =

|goals2 =

|stadium = Estádio do Dragão

|location = Porto, Portugal

|attendance = 48,520

|referee = Marco Guida (Italy)

|result = L

}}

3–3 on aggregate. Krasnodar won on away goals.

=UEFA Europa League=

{{main|2019–20 UEFA Europa League}}

==Group stage==

{{main|2019–20 UEFA Europa League group stage#Group G}}

{{:2019–20 UEFA Europa League group stage|transcludesection=Group G|show_matches=no|showteam=POR}}

{{football box collapsible

|round = 1

|date = 19 September 2019

|time = 20:00 WEST

|team1 = Porto {{fbaicon|POR}}

|score = 2–1

|report = https://www.zerozero.pt/jogo.php?id=7049412

|team2 = {{fbaicon|SUI}} Young Boys

|goals1 =

|goals2 =

|stadium = Estádio do Dragão

|location = Porto, Portugal

|attendance = 32,929

|referee = Andris Treimanis (Latvia)

|result = W

}}

{{football box collapsible

|round = 2

|date = 3 October 2019

|time = 17:55 WEST

|team1 = Feyenoord {{fbaicon|NED}}

|score = 2–0

|report = https://www.zerozero.pt/jogo.php?id=7049415

|team2 = {{fbaicon|POR}} Porto

|goals1 =

|goals2 =

|stadium = De Kuip

|location = Rotterdam, Netherlands

|attendance =

|referee = Sergei Karasev (Russia)

|result = L

}}

{{football box collapsible

|round = 3

|date = 24 October 2019

|time = 17:55 WEST

|team1 = Porto {{fbaicon|POR}}

|score = 1–1

|report = https://www.zerozero.pt/jogo.php?id=7049416

|team2 = {{fbaicon|SCO}} Rangers

|goals1 =

|goals2 =

|stadium = Estádio do Dragão

|location = Porto, Portugal

|attendance = 31,307

|referee = Nikola Dabanović (Montenegro)

|result = D

}}

{{football box collapsible

|round = 4

|date = 7 November 2019

|time = 20:00 WEST

|team1 = Rangers {{fbaicon|SCO}}

|score = 2–0

|report = https://www.zerozero.pt/jogo.php?id=7049418

|team2 = {{fbaicon|POR}} Porto

|goals1 =

|goals2 =

|stadium = Ibrox Stadium

|location = Glasgow, Scotland

|attendance = 49,645

|referee = Davide Massa (Italy)

|result = L

}}

{{football box collapsible

|round = 5

|date = 28 November 2019

|time = 17:55 WEST

|team1 = Young Boys {{fbaicon|SUI}}

|score = 1–2

|report = https://www.zerozero.pt/jogo.php?id=7049420

|team2 = {{fbaicon|POR}} Porto

|goals1 =

|goals2 =

|stadium = Stade de Suisse

|location = Bern, Switzerland

|attendance =

|referee = Tamás Bognár (Hungary)

|result = W

}}

{{football box collapsible

|round = 6

|date = 12 December 2019

|time = 20:00 WET

|team1 = Porto {{fbaicon|POR}}

|score = 3–2

|report = https://www.zerozero.pt/jogo.php?id=7049423

|team2 = {{fbaicon|NED}} Feyenoord

|goals1 =

|goals2 =

|stadium = Estádio do Dragão

|location = Porto, Portugal

|attendance = 28,507

|referee = Deniz Aytekin (Germany)

|result = W

}}

==Knockout phase==

{{main|2019–20 UEFA Europa League knockout phase}}

===Round of 32===

{{football box collapsible

|round = First leg

|date = 20 February 2020

|time = 20:00 WEST

|team1 = Bayer Leverkusen {{flagicon|GER}}

|score = 2–1

|report = https://www.zerozero.pt/jogo.php?id=7263884

|team2 = {{flagicon|POR}} Porto

|goals1 =

|goals2 =

|stadium = BayArena

|location = Leverkusen, Germany

|attendance = 26,839

|referee = Slavko Vinčić (Slovenia)

|result = L

}}

{{football box collapsible

|round = Second leg

|date = 27 February 2020

|time = 20:00 WEST

|team1 = Porto {{flagicon|PRT}}

|score = 1–3

|aggregatescore = 2–5

|report = https://www.zerozero.pt/jogo.php?id=7263885

|team2 = {{flagicon|GER}} Bayer Leverkusen

|goals1 =

|goals2 =

|stadium = Estádio do Dragão

|location = Porto, Portugal

|attendance = 30,292

|referee = István Kovács (Romania)

|result = L

}}

Statistics

{{updated|1 August 2020}}

=Appearances and discipline=

Numbers in parentheses denote appearances as substitute.

class=wikitable style="text-align:center; width:100%"
rowspan=2|{{Abbr|No.|Number}}

!rowspan=2|{{Abbr|Pos.|Position}}

!rowspan=2|Player

!colspan=4|Primeira Liga

!colspan=4|Taça de Portugal

!colspan=4|Taça da Liga

!colspan=4|Champions League

!colspan=4|Europa League

!colspan=4|Total

{{Abbr|Apps|Appearances (substitute)}}{{fb yellow card}}{{fb second yellow card}}{{fb red card}}

!{{Abbr|Apps|Appearances (substitute)}}

{{fb yellow card}}{{fb second yellow card}}{{fb red card}}

!{{Abbr|Apps|Appearances (substitute)}}

{{fb yellow card}}{{fb second yellow card}}{{fb red card}}

!{{Abbr|Apps|Appearances (substitute)}}

{{fb yellow card}}{{fb second yellow card}}{{fb red card}}

!{{Abbr|Apps|Appearances (substitute)}}

{{fb yellow card}}{{fb second yellow card}}{{fb red card}}

!{{Abbr|Apps|Appearances (substitute)}}

{{fb yellow card}}{{fb second yellow card}}{{fb red card}}
2

|DF

|align=left|{{flagicon|POR}} Tomás Esteves

|2 (0)

000

|0 (0)

000

|0 (1)

000

|0 (0)

000

|0 (0)

000

|2 (1)

000
3

|DF

|align=left|{{flagicon|POR}} Pepe

|24 (1)

500

|2 (0)

000

|1 (0)

000

|2 (0)

000

|6 (1)

200

|35 (2)

700
4

|DF

|align=left|{{flagicon|POR}} Diogo Leite

|4 (5)

100

|5 (1)

200

|2 (0)

000

|0 (0)

000

|0 (1)

000

|11 (7)

300
5

|DF

|align=left|{{flagicon|ESP}} Iván Marcano

|23 (0)

600

|1 (0)

000

|3 (0)

100

|2 (0)

000

|8 (0)

300

|37 (0)

1000
7

|FW

|align=left|{{flagicon|COL}} Luis Díaz

|20 (9)

200

|6 (0)

010

|3 (2)

100

|1 (1)

000

|5 (3)

100

|35 (15)

410
8

|MF

|align=left|{{flagicon|POR}} Romário Baró

|4 (5)

000

|1 (3)

100

|1 (2)

200

|1 (0)

100

|0 (1)

000

|7 (11)

400
9

|FW

|align=left|{{flagicon|CMR}} Vincent Aboubakar

|1 (4)

000

|0 (2)

000

|0 (0)

000

|0 (1)

000

|1 (0)

100

|2 (7)

100
10

|FW

|align=left|{{flagicon|JPN}} Shoya Nakajima

|5 (11)

100

|2 (2)

000

|3 (0)

000

|1 (0)

000

|1 (3)

100

|12 (16)

200
11

|FW

|align=left|{{flagicon|MLI}} Moussa Marega

|27 (2)

500

|3 (1)

000

|3 (0)

000

|2 (0)

100

|7 (0)

000

|42 (3)

600
13

|DF

|align=left|{{flagicon|BRA}} Alex Telles

|28 (3)

711

|4 (1)

100

|3 (0)

000

|2 (0)

000

|8 (0)

200

|45 (4)

1011
15

|MF

|align=left|{{flagicon|SEN}} Mamadou Loum

|4 (2)

000

|3 (1)

100

|0 (0)

000

|0 (0)

000

|1 (0)

000

|8 (3)

100
16

|MF

|align=left|{{flagicon|COL}} Mateus Uribe

|22 (4)

500

|4 (0)

000

|2 (1)

100

|0 (1)

100

|7 (0)

200

|35 (6)

900
17

|FW

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

|33 (0)

510

|4 (1)

000

|3 (1)

200

|2 (0)

100

|7 (0)

200

|49 (2)

1010
18

|DF

|align=left|{{flagicon|POR}} Wilson Manafá

|20 (7)

600

|7 (0)

000

|3 (2)

000

|1 (0)

000

|3 (2)

200

|34 (11)

800
19

|DF

|align=left|{{flagicon|DRC}} Chancel Mbemba

|21 (5)

300

|6 (0)

000

|5 (0)

100

|0 (0)

000

|4 (1)

100

|36 (6)

500
20

|FW

|align=left|{{flagicon|CPV}} Zé Luís

|11 (8)

400

|3 (0)

100

|0 (1)

000

|0 (2)

100

|3 (3)

100

|17 (14)

700
22

|MF

|align=left|{{flagicon|POR}} Danilo Pereira

|23 (3)

200

|2 (1)

000

|2 (0)

100

|2 (0)

100

|6 (1)

100

|35 (5)

500
25

|MF

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

|29 (2)

1100

|5 (0)

100

|2 (2)

100

|0 (1)

000

|7 (0)

300

|43 (5)

1600
27

|MF

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

|14 (6)

700

|1 (4)

000

|4 (0)

100

|2 (0)

000

|2 (1)

100

|23 (11)

900
29

|FW

|align=left|{{flagicon|BRA}} Soares

|20 (10)

700

|2 (3)

000

|5 (0)

000

|1 (0)

000

|4 (3)

001

|32 (16)

701
31

|GK

|align=left|{{flagicon|POR}} Diogo Costa

|3 (0)

000

|7 (0)

000

|5 (0)

000

|0 (0)

000

|0 (0)

000

|15 (0)

000
32

|GK

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

|31 (0)

400

|0 (0)

000

|0 (0)

000

|2 (0)

000

|8 (0)

100

|41 (0)

500
49

|FW

|align=left|{{flagicon|POR}} Fábio Silva

|1 (11)

000

|3 (0)

000

|1 (2)

000

|0 (0)

000

|0 (3)

000

|5 (16)

000
50

|MF

|align=left|{{flagicon|POR}} Fábio Vieira

|2 (6)

000

|0 (0)

000

|0 (0)

000

|0 (0)

000

|0 (0)

000

|2 (6)

000
51

|GK

|align=left|{{flagicon|SEN}} Mouhamed Mbaye

|0 (1)

000

|0 (0)

000

|0 (0)

000

|0 (0)

000

|0 (0)

000

|0 (1)

000
57

|MF

|align=left|{{flagicon|POR}} João Mário

|0 (2)

100

|0 (0)

000

|0 (0)

000

|0 (0)

000

|0 (0)

000

|0 (2)

100
71

|GK

|align=left|{{flagicon|POR}} Francisco Meixedo

|0 (0)

000

|0 (0)

000

|0 (0)

000

|0 (0)

000

|0 (0)

000

|0 (0)

000
77

|MF

|align=left|{{flagicon|POR}} Vítor Ferreira

|0 (8)

000

|2 (1)

000

|0 (1)

000

|0 (0)

000

|0 (0)

000

|2 (10)

000
colspan=3|Totals

!  ||82 ||2 ||1

!  ||7 ||1 ||0

!  ||11 ||0 ||0

!  ||6 ||0 ||0

!  ||24 ||0 ||1

!  ||130 ||3 ||2

=Goalscorers=

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

!{{Abbr|No.|Shirt number}}

!{{Abbr|Pos.|Position}}

!Player

!Primeira Liga

!Taça de Portugal

!Taça da Liga

!Champions League

!Europa League

!Total

1

|29

|FW

|align=left|{{flagicon|BRA}} {{sortname|Francisco|Soares}}

|10

|2

|4

|0

|3

|19

2

|11

|FW

|align=left|{{flagicon|MLI}} {{sortname|Moussa|Marega}}

|12

|1

|1

|0

|1

|15

3

|7

|FW

|align=left|{{flagicon|COL}} {{sortname|Luis|Díaz|Luis Díaz (footballer, born 1997)}}

|6

|2

|2

|1

|3

|14

4

|13

|DF

|align=left|{{flagicon|BRA}} {{sortname|Alex|Telles}}

|11

|1

|1

|0

|0

|13

5

|20

|FW

|align=left|{{flagicon|CPV}} {{sortname|Zé|Luís}}

|7

|2

|0

|1

|0

|10

rowspan=2| 6

|19

|DF

|align=left|{{flagicon|DRC}} {{sortname|Chancel|Mbemba}}

|2

|4

|0

|0

|0

|6

5

|DF

|align=left|{{flagicon|ESP}} {{sortname|Iván|Marcano}}

|5

|1

|0

|0

|0

|6

7

|27

|MF

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

|3

|1

|0

|1

|0

|5

9

|17

|FW

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

|4

|0

|0

|0

|0

|4

10

|49

|FW

|align=left|{{flagicon|POR}} {{sortname|Fábio|Silva|Fábio Silva (footballer, born 2002)}}

|1

|2

|0

|0

|0

|3

rowspan=4| 11

|22

|MF

|align=left|{{flagicon|POR}} {{sortname

Danilo Pereira|Danilo Pereira (Portuguese footballer)}}

|2

|0

|0

|0

|0

|2

50

|MF

|align=left|{{flagicon|POR}} {{sortname|Fábio|Vieira|Fábio Vieira (footballer, born 2000)}}

|2

|0

|0

|0

|0

|2

25

|MF

|align=left|{{flagicon|BRA}} {{sortname

Otávio|Otávio Edmilson da Silva Monteiro}}

|2

|0

|0

|0

|0

|2

9

|FW

|align=left|{{flagicon|CMR}} {{sortname|Vincent|Aboubakar}}

|0

|0

|0

|0

|2

|2

rowspan=6| 15

|4

|DF

|align=left|{{flagicon|POR}} {{sortname|Diogo|Leite|Diogo Leite (footballer, born 1999)}}

|0

|0

|1

|0

|0

|1

3

|DF

|align=left|{{flagicon|POR}} {{sortname

Pepe|Pepe (footballer, born 1983)}}

|1

|0

|0

|0

|0

|1

18

|DF

|align=left|{{flagicon|POR}} {{sortname|Wilson|Manafá}}

|1

|0

|0

|0

|0

|1

15

|MF

|align=left|{{flagicon|SEN}} {{sortname

Mamadou Loum|Mamadou N'Diaye (footballer, born 1996)}}

|1

|0

|0

|0

|0

|1

16

|MF

|align=left|{{flagicon|COL}} {{sortname|Mateus|Uribe}}

|1

|0

|0

|0

|0

|1

10

|MF

|align=left|{{flagicon|JPN}} {{sortname|Shoya|Nakajima}}

|0

|1

|0

|0

|0

|1

class="unsortable" colspan=4| Totals || 71 || 17 || 9 || 3 || 9 || 109

=Clean sheets=

class="wikitable" style="text-align:center;"
{{Abbr|No.|Number}}

!Player

!Primeira Liga

!Taça de Portugal

!Taça da Liga

!Champions League

!Europa League

!Total

32

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

|18

001019
31

|align=left |{{flagicon|POR}} Diogo Costa

|1

42007
colspan=2|Totals

!19

421026

References

{{Reflist|30em}}

{{FC Porto|state=collapsed}}

{{FC Porto seasons|state=collapsed}}

{{2019–20 in Portuguese football|state=collapsed}}

{{DEFAULTSORT:2019-20 FC Porto season}}

Category:FC Porto seasons

Porto

Porto

Category:Portuguese football championship–winning seasons