# 2019–20 FC Porto season

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

| N | Pos. | Name | Age | EU | Since | App | Goals | Ends | Transfer fee | Notes |
| 2 | DF | Tomás Esteves | 22 | EU | 2019 | 3 | 0 | 2024 | Youth system | |
| 3 | DF | Pepe | 41 | EU | 2019 | 58 | 3 | 2021 | Free | |
| 4 | DF | Diogo Leite | 25 | EU | 2018 | 24 | 2 | 2023 | Youth system | |
| 5 | DF | Iván Marcano | 37 | EU | 2019 | 36 | 6 | 2023 | €3M | |
| 7 | FW | Luis Díaz | 27 | Non-EU | 2019 | 50 | 14 | 2024 | €7M | |
| 8 | MF | Romário Baró | 24 | EU | 2019 | 17 | 0 | 2023 | Youth system | |
| 9 | FW | Vincent Aboubakar | 32 | Non-EU | 2014 | 119 | 58 | 2021 | €11.2M | |
| 10 | FW | Shoya Nakajima | 30 | Non-EU | 2019 | 27 | 1 | 2024 | €12M | |
| 11 | FW | Moussa Marega | 33 | Non-EU | 2016 | 145 | 59 | 2021 | €3.8M | |
| 13 | DF | Alex Telles | 31 | Non-EU | 2016 | 193 | 21 | 2021 | €6.5M | Second nationality: Italy |
| 15 | MF | Mamadou Loum | 27 | Non-EU | 2019 | 14 | 1 | 2022 | €7.5M | |
| 16 | MF | Mateus Uribe | 33 | Non-EU | 2019 | 41 | 1 | 2023 | €9M | |
| 17 | FW | Jesús Corona | 31 | Non-EU | 2015 | 220 | 28 | 2022 | €10.5M | |
| 18 | DF | Wilson Manafá | 30 | EU | 2019 | 62 | 2 | 2023 | Undisclosed | |
| 19 | DF | Chancel Mbemba | 30 | Non-EU | 2018 | 48 | 5 | 2022 | €4.5M | |
| 20 | FW | Zé Luís | 33 | Non-EU | 2019 | 31 | 10 | 2023 | €8.5M | |
| 22 | MF | Danilo Pereira | 33 | EU | 2015 | 197 | 19 | 2022 | €4.5M | Captain |
| 25 | MF | Otávio | 29 | Non-EU | 2014 | 140 | 13 | 2021 | €2.5M | |
| 27 | MF | Sérgio Oliveira | 32 | EU | 2015 | 101 | 14 | 2021 | €1M | |
| 29 | FW | Soares | 33 | Non-EU | 2017 | 131 | 63 | 2021 | €5.6M | |
| 31 | GK | Diogo Costa | 25 | EU | 2018 | 15 | 0 | 2022 | Youth system | |
| 32 | GK | Agustín Marchesín | 36 | Non-EU | 2019 | 41 | 0 | 2023 | €7.5M | |
| 49 | FW | Fábio Silva | 22 | EU | 2019 | 20 | 3 | 2022 | Youth system | |
| 50 | MF | Fábio Vieira | 24 | EU | 2020 | 8 | 2 | 2022 | Youth system | |
| 51 | GK | Mouhamed Mbaye | 27 | Non-EU | 2019 | 1 | 0 | 2021 | Youth system | |
| 57 | MF | João Mário | 24 | EU | 2020 | 2 | 0 | 2022 | Youth system | |
| 71 | GK | Francisco Meixedo | 23 | EU | 2020 | 0 | 0 | 2021 | Youth system | |
| 77 | MF | Vítor Ferreira | 24 | EU | 2020 | 12 | 0 | 2024 | Youth system | |
* Last updated: 1 August 2020
* Source: FC Porto
* Ordered by squad number.

### Transfers and loans
#### In

| Date | Pos. | Name | Nationality | Age | Transferred from | Window | Until | Fee |
| 8 June 2019 | DF | Renzo Saravia | Argentina | 31 | Racing Club (Argentina) | Summer | 2023 | €5.5M |
| 1 July 2019 | MF | Mamadou Loum | Senegal | 27 | Braga (Portugal) | Summer | 2022 | €7.5M |
| 5 July 2019 | FW | Shoya Nakajima | Japan | 30 | Al-Duhail (Qatar) | Summer | 2024 | €12M |
| 5 July 2019 | FW | Zé Luís | Cape Verde | 33 | Spartak Moscow (Russia) | Summer | 2023 | €8.5M |
| 10 July 2019 | FW | Luis Díaz | Colombia | 27 | Atlético Junior (Colombia) | Summer | 2024 | €7M |
| 11 July 2019 | DF | Iván Marcano | Spain | 37 | Roma (Italy) | Summer | 2023 | €3M |
| 2 August 2019 | GK | Agustín Marchesín | Argentina | 36 | América (Mexico) | Summer | 2023 | €7.5M |
| 5 August 2019 | MF | Mateus Uribe | Colombia | 33 | América (Mexico) | Summer | 2023 | €9M |
Total expending: €60 million

#### Out

| Date | Pos. | Name | Nationality | Age | Transferred to | Window | Fee |
| 14 March 2019 | DF | Éder Militão | Brazil | 26 | Real Madrid (Spain) | Summer | €50M |
| 15 May 2019 | GK | José Sá | Portugal | 31 | Olympiacos (Greece) | Summer | €2.5M |
| 28 May 2019 | DF | Felipe | Brazil | 35 | Atlético Madrid (Spain) | Summer | €20M |
| 1 July 2019 | GK | Fabiano | Brazil | 36 | Unattached | Summer | Free |
| 1 July 2019 | DF | Maxi Pereira | Uruguay | 40 | Unattached | Summer | Free |
| 1 July 2019 | FW | Adrián López | Spain | 36 | Osasuna (Spain) | Summer | Free |
| 1 July 2019 | FW | Yacine Brahimi | Algeria | 34 | Al-Rayyan (Qatar) | Summer | Free |
| 2 July 2019 | FW | Hernâni | Portugal | 33 | Levante (Spain) | Summer | Free |
| 3 July 2019 | MF | Héctor Herrera | Mexico | 34 | Atlético Madrid (Spain) | Summer | Free |
| 15 July 2019 | MF | Óliver Torres | Spain | 30 | Sevilla (Spain) | Summer | €12M |
| 18 July 2019 | MF | Mikel Agu | Nigeria | 31 | Vitória de Guimarães (Portugal) | Summer | Free |
| 6 August 2019 | MF | Galeno | Brazil | 27 | Braga (Portugal) | Summer | €3.5M |
| 14 August 2019 | GK | João Costa | Portugal | 28 | Mirandés (Spain) | Summer | Free |
| 10 January 2020 | MF | Bruno Costa | Portugal | 27 | Portimonense (Portugal) | Winter | Undisclosed |
Total income: €88 million

#### Loan return

| Date | Pos. | Name | Nationality | Age | Returned from | Window |
| 1 July 2019 | GK | João Costa | Portugal | 28 | Cartagena (Spain) | Summer |
| 1 July 2019 | DF | Chidozie Awaziem | Nigeria | 27 | Çaykur Rizespor (Turkey) | Summer |
| 1 July 2019 | DF | Jorge Fernandes | Portugal | 27 | Tondela (Portugal) | Summer |
| 1 July 2019 | DF | Saidy Janko | Switzerland | 29 | Nottingham Forest (England) | Summer |
| 1 July 2019 | DF | Yordan Osorio | Venezuela | 30 | Vitória de Guimarães (Portugal) | Summer |
| 1 July 2019 | MF | Mikel Agu | Nigeria | 31 | Vitória de Setúbal (Portugal) | Summer |
| 1 July 2019 | MF | Sérgio Oliveira | Portugal | 32 | PAOK (Greece) | Summer |
| 1 July 2019 | FW | Majeed Waris | Ghana | 33 | Nantes (France) | Summer |
| 1 July 2019 | FW | Galeno | Brazil | 27 | Rio Ave (Portugal) | Summer |

#### Loan out

| Date | Pos. | Name | Nationality | Age | Loaned to | Window | Until |
| 14 June 2019 | DF | Jorge Fernandes | Portugal | 27 | Kasımpaşa (Turkey) | Summer | 30 June 2020 |
| 1 July 2019 | DF | Saidy Janko | Switzerland | 29 | Young Boys (Switzerland) | Summer | 30 June 2020 |
| 19 July 2019 | FW | André Pereira | Portugal | 29 | Vitória de Guimarães (Portugal) | Summer | 30 June 2020 |
| 30 July 2019 | DF | João Pedro | Brazil | 28 | Bahia (Brazil) | Summer | 31 December 2020 |
| 9 August 2019 | FW | Fernando Andrade | Brazil | 31 | Sivasspor (Turkey) | Summer | 30 June 2020 |
| 15 August 2019 | DF | Chidozie Awaziem | Nigeria | 27 | Leganés (Spain) | Summer | 30 June 2020 |
| 27 August 2019 | DF | Diogo Queirós | Portugal | 25 | Mouscron (Belgium) | Summer | 30 June 2020 |
| 31 August 2019 | GK | Vaná | Brazil | 33 | Famalicão (Portugal) | Summer | 30 June 2020 |
| 31 August 2019 | DF | Yordan Osorio | Venezuela | 30 | Zenit Saint Petersburg (Russia) | Summer | 30 June 2020 |
| 28 February 2020 | DF | Renzo Saravia | Argentina | 31 | Internacional (Brazil) | Winter | 30 June 2020 |

## Technical staff

| Position | Staff |
| Head coach | Sérgio Conceição |
| Assistant coaches | Vítor Bruno |
| Assistant coaches | Siramana Dembélé |
| Goalkeeper coach | Diamantino Figueiredo |
| Exercise Physiologist | Eduardo Oliveira |
Last updated: 15 July 2019 Source: FC Porto

## Pre-season and friendlies

Win  Draw  Loss

## Competitions
### Overall record

| Competition | First match | Last match | Starting round | Final position | Record | Record | Record | Record | Record | Record | Record | Record |
| Competition | First match | Last match | Starting round | Final position | Pld | W | D | L | GF | GA | GD | Win % |
| Primeira Liga | 10 August 2019 | 26 July 2020 | Matchday 1 | Winners | 34 | 26 | 4 | 4 | 74 | 22 | +52 | 076.47 |
| Taça de Portugal | 19 October 2019 | 1 August 2020 | Third round | Winners | 7 | 6 | 1 | 0 | 18 | 3 | +15 | 085.71 |
| Taça da Liga | 25 September 2019 | 25 January 2020 | Group stage | Runners-up | 5 | 4 | 0 | 1 | 10 | 4 | +6 | 080.00 |
| UEFA Champions League | 7 August 2019 | 13 August 2019 | Third qualifying round | Third qualifying round | 2 | 1 | 0 | 1 | 3 | 3 | +0 | 050.00 |
| UEFA Europa League | 19 September 2019 | 27 February 2020 | Group stage | Round of 32 | 8 | 3 | 1 | 4 | 10 | 14 | −4 | 037.50 |
| Total | Total | Total | Total | Total | 56 | 40 | 6 | 10 | 115 | 46 | +69 | 071.43 |
Last updated: 1 August 2020 Source: Competitions

### Primeira Liga
#### League table

| Pos | Teamvte | Pld | W | D | L | GF | GA | GD | Pts | Qualification or relegation |
| 1 | Porto (C) | 34 | 26 | 4 | 4 | 74 | 22 | +52 | 82 | Qualification for the Champions League group stage |
| 2 | Benfica | 34 | 24 | 5 | 5 | 71 | 26 | +45 | 77 | Qualification for the Champions League third qualifying round |
| 3 | Braga | 34 | 18 | 6 | 10 | 61 | 40 | +21 | 60 | Qualification for the Europa League group stage |
| 4 | Sporting CP | 34 | 18 | 6 | 10 | 49 | 34 | +15 | 60 | Qualification for the Europa League third qualifying round |
| 5 | Rio Ave | 34 | 15 | 10 | 9 | 48 | 36 | +12 | 55 | Qualification for the Europa League second qualifying round |
* 1 2 Head-to-head away goals: Braga 1, Sporting 0
* 1 2 3 Since the winners of the 2019–20 Taça de Portugal, Porto, qualified for the Champions League based on league position, the spot awarded to the third-placed team (Europa League third qualifying round) was passed to the fourth-placed team, and the spot awarded to the fourth-placed team (Europa League second qualifying round) was passed to the fifth-placed team.

#### Results summary

| Overall | Overall | Overall | Overall | Overall | Overall | Overall | Overall | Home | Home | Home | Home | Home | Home | Away | Away | Away | Away | Away | Away |
Last updated: 25 July 2020. Source: Liga Portugal

#### Results by round

| Round | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 |
| Ground | 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 |
| Result | 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 |
| Position | 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 |

#### Matches
### Taça da Liga
#### Third round

| Pos | Team | Pld | W | D | L | GF | GA | GD | Pts | Qualification |
| 1 | Porto | 3 | 3 | 0 | 0 | 8 | 2 | +6 | 9 | Advanced to knockout phase |
| 2 | Chaves | 3 | 2 | 0 | 1 | 4 | 4 | 0 | 6 | |
| 3 | Casa Pia | 3 | 1 | 0 | 2 | 2 | 5 | −3 | 3 | |
| 4 | Santa Clara | 3 | 0 | 0 | 3 | 1 | 4 | −3 | 0 | |

#### Final
### UEFA Champions League
#### Third qualifying round

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

### UEFA Europa League
#### Group stage

| Pos | Teamvte | Pld | W | D | L | GF | GA | GD | Pts | Qualification |
| 1 | Porto | 6 | 3 | 1 | 2 | 8 | 9 | −1 | 10 | Advance to knockout phase |
| 2 | Rangers | 6 | 2 | 3 | 1 | 8 | 6 | +2 | 9 | Advance to knockout phase |
| 3 | Young Boys | 6 | 2 | 2 | 2 | 8 | 7 | +1 | 8 | |
| 4 | Feyenoord | 6 | 1 | 2 | 3 | 7 | 9 | −2 | 5 | |

#### Knockout phase
##### Round of 32
## Statistics

    As of 1 August 2020

### Appearances and discipline

Numbers in parentheses denote appearances as substitute.
| No. | Pos. | Player | Primeira Liga | Primeira Liga | Primeira Liga | Primeira Liga | Taça de Portugal | Taça de Portugal | Taça de Portugal | Taça de Portugal | Taça da Liga | Taça da Liga | Taça da Liga | Taça da Liga | Champions League | Champions League | Champions League | Champions League | Europa League | Europa League | Europa League | Europa League | Total | Total | Total | Total |
| No. | Pos. | Player | Apps | | | | Apps | | | | Apps | | | | Apps | | | | Apps | | | | Apps | | | |
| 2 | DF | Tomás Esteves | 2 (0) | 0 | 0 | 0 | 0 (0) | 0 | 0 | 0 | 0 (1) | 0 | 0 | 0 | 0 (0) | 0 | 0 | 0 | 0 (0) | 0 | 0 | 0 | 2 (1) | 0 | 0 | 0 |
| 3 | DF | Pepe | 24 (1) | 5 | 0 | 0 | 2 (0) | 0 | 0 | 0 | 1 (0) | 0 | 0 | 0 | 2 (0) | 0 | 0 | 0 | 6 (1) | 2 | 0 | 0 | 35 (2) | 7 | 0 | 0 |
| 4 | DF | Diogo Leite | 4 (5) | 1 | 0 | 0 | 5 (1) | 2 | 0 | 0 | 2 (0) | 0 | 0 | 0 | 0 (0) | 0 | 0 | 0 | 0 (1) | 0 | 0 | 0 | 11 (7) | 3 | 0 | 0 |
| 5 | DF | Iván Marcano | 23 (0) | 6 | 0 | 0 | 1 (0) | 0 | 0 | 0 | 3 (0) | 1 | 0 | 0 | 2 (0) | 0 | 0 | 0 | 8 (0) | 3 | 0 | 0 | 37 (0) | 10 | 0 | 0 |
| 7 | FW | Luis Díaz | 20 (9) | 2 | 0 | 0 | 6 (0) | 0 | 1 | 0 | 3 (2) | 1 | 0 | 0 | 1 (1) | 0 | 0 | 0 | 5 (3) | 1 | 0 | 0 | 35 (15) | 4 | 1 | 0 |
| 8 | MF | Romário Baró | 4 (5) | 0 | 0 | 0 | 1 (3) | 1 | 0 | 0 | 1 (2) | 2 | 0 | 0 | 1 (0) | 1 | 0 | 0 | 0 (1) | 0 | 0 | 0 | 7 (11) | 4 | 0 | 0 |
| 9 | FW | Vincent Aboubakar | 1 (4) | 0 | 0 | 0 | 0 (2) | 0 | 0 | 0 | 0 (0) | 0 | 0 | 0 | 0 (1) | 0 | 0 | 0 | 1 (0) | 1 | 0 | 0 | 2 (7) | 1 | 0 | 0 |
| 10 | FW | Shoya Nakajima | 5 (11) | 1 | 0 | 0 | 2 (2) | 0 | 0 | 0 | 3 (0) | 0 | 0 | 0 | 1 (0) | 0 | 0 | 0 | 1 (3) | 1 | 0 | 0 | 12 (16) | 2 | 0 | 0 |
| 11 | FW | Moussa Marega | 27 (2) | 5 | 0 | 0 | 3 (1) | 0 | 0 | 0 | 3 (0) | 0 | 0 | 0 | 2 (0) | 1 | 0 | 0 | 7 (0) | 0 | 0 | 0 | 42 (3) | 6 | 0 | 0 |
| 13 | DF | Alex Telles | 28 (3) | 7 | 1 | 1 | 4 (1) | 1 | 0 | 0 | 3 (0) | 0 | 0 | 0 | 2 (0) | 0 | 0 | 0 | 8 (0) | 2 | 0 | 0 | 45 (4) | 10 | 1 | 1 |
| 15 | MF | Mamadou Loum | 4 (2) | 0 | 0 | 0 | 3 (1) | 1 | 0 | 0 | 0 (0) | 0 | 0 | 0 | 0 (0) | 0 | 0 | 0 | 1 (0) | 0 | 0 | 0 | 8 (3) | 1 | 0 | 0 |
| 16 | MF | Mateus Uribe | 22 (4) | 5 | 0 | 0 | 4 (0) | 0 | 0 | 0 | 2 (1) | 1 | 0 | 0 | 0 (1) | 1 | 0 | 0 | 7 (0) | 2 | 0 | 0 | 35 (6) | 9 | 0 | 0 |
| 17 | FW | Jesús Corona | 33 (0) | 5 | 1 | 0 | 4 (1) | 0 | 0 | 0 | 3 (1) | 2 | 0 | 0 | 2 (0) | 1 | 0 | 0 | 7 (0) | 2 | 0 | 0 | 49 (2) | 10 | 1 | 0 |
| 18 | DF | Wilson Manafá | 20 (7) | 6 | 0 | 0 | 7 (0) | 0 | 0 | 0 | 3 (2) | 0 | 0 | 0 | 1 (0) | 0 | 0 | 0 | 3 (2) | 2 | 0 | 0 | 34 (11) | 8 | 0 | 0 |
| 19 | DF | Chancel Mbemba | 21 (5) | 3 | 0 | 0 | 6 (0) | 0 | 0 | 0 | 5 (0) | 1 | 0 | 0 | 0 (0) | 0 | 0 | 0 | 4 (1) | 1 | 0 | 0 | 36 (6) | 5 | 0 | 0 |
| 20 | FW | Zé Luís | 11 (8) | 4 | 0 | 0 | 3 (0) | 1 | 0 | 0 | 0 (1) | 0 | 0 | 0 | 0 (2) | 1 | 0 | 0 | 3 (3) | 1 | 0 | 0 | 17 (14) | 7 | 0 | 0 |
| 22 | MF | Danilo Pereira | 23 (3) | 2 | 0 | 0 | 2 (1) | 0 | 0 | 0 | 2 (0) | 1 | 0 | 0 | 2 (0) | 1 | 0 | 0 | 6 (1) | 1 | 0 | 0 | 35 (5) | 5 | 0 | 0 |
| 25 | MF | Otávio | 29 (2) | 11 | 0 | 0 | 5 (0) | 1 | 0 | 0 | 2 (2) | 1 | 0 | 0 | 0 (1) | 0 | 0 | 0 | 7 (0) | 3 | 0 | 0 | 43 (5) | 16 | 0 | 0 |
| 27 | MF | Sérgio Oliveira | 14 (6) | 7 | 0 | 0 | 1 (4) | 0 | 0 | 0 | 4 (0) | 1 | 0 | 0 | 2 (0) | 0 | 0 | 0 | 2 (1) | 1 | 0 | 0 | 23 (11) | 9 | 0 | 0 |
| 29 | FW | Soares | 20 (10) | 7 | 0 | 0 | 2 (3) | 0 | 0 | 0 | 5 (0) | 0 | 0 | 0 | 1 (0) | 0 | 0 | 0 | 4 (3) | 0 | 0 | 1 | 32 (16) | 7 | 0 | 1 |
| 31 | GK | Diogo Costa | 3 (0) | 0 | 0 | 0 | 7 (0) | 0 | 0 | 0 | 5 (0) | 0 | 0 | 0 | 0 (0) | 0 | 0 | 0 | 0 (0) | 0 | 0 | 0 | 15 (0) | 0 | 0 | 0 |
| 32 | GK | Agustín Marchesín | 31 (0) | 4 | 0 | 0 | 0 (0) | 0 | 0 | 0 | 0 (0) | 0 | 0 | 0 | 2 (0) | 0 | 0 | 0 | 8 (0) | 1 | 0 | 0 | 41 (0) | 5 | 0 | 0 |
| 49 | FW | Fábio Silva | 1 (11) | 0 | 0 | 0 | 3 (0) | 0 | 0 | 0 | 1 (2) | 0 | 0 | 0 | 0 (0) | 0 | 0 | 0 | 0 (3) | 0 | 0 | 0 | 5 (16) | 0 | 0 | 0 |
| 50 | MF | Fábio Vieira | 2 (6) | 0 | 0 | 0 | 0 (0) | 0 | 0 | 0 | 0 (0) | 0 | 0 | 0 | 0 (0) | 0 | 0 | 0 | 0 (0) | 0 | 0 | 0 | 2 (6) | 0 | 0 | 0 |
| 51 | GK | Mouhamed Mbaye | 0 (1) | 0 | 0 | 0 | 0 (0) | 0 | 0 | 0 | 0 (0) | 0 | 0 | 0 | 0 (0) | 0 | 0 | 0 | 0 (0) | 0 | 0 | 0 | 0 (1) | 0 | 0 | 0 |
| 57 | MF | João Mário | 0 (2) | 1 | 0 | 0 | 0 (0) | 0 | 0 | 0 | 0 (0) | 0 | 0 | 0 | 0 (0) | 0 | 0 | 0 | 0 (0) | 0 | 0 | 0 | 0 (2) | 1 | 0 | 0 |
| 71 | GK | Francisco Meixedo | 0 (0) | 0 | 0 | 0 | 0 (0) | 0 | 0 | 0 | 0 (0) | 0 | 0 | 0 | 0 (0) | 0 | 0 | 0 | 0 (0) | 0 | 0 | 0 | 0 (0) | 0 | 0 | 0 |
| 77 | MF | Vítor Ferreira | 0 (8) | 0 | 0 | 0 | 2 (1) | 0 | 0 | 0 | 0 (1) | 0 | 0 | 0 | 0 (0) | 0 | 0 | 0 | 0 (0) | 0 | 0 | 0 | 2 (10) | 0 | 0 | 0 |
| Totals | Totals | Totals | | 82 | 2 | 1 | | 7 | 1 | 0 | | 11 | 0 | 0 | | 6 | 0 | 0 | | 24 | 0 | 1 | | 130 | 3 | 2 |

### Goalscorers

| Rank | No. | Pos. | Player | Primeira Liga | Taça de Portugal | Taça da Liga | Champions League | Europa League | Total |
| 1 | 29 | FW | Francisco Soares | 10 | 2 | 4 | 0 | 3 | 19 |
| 2 | 11 | FW | Moussa Marega | 12 | 1 | 1 | 0 | 1 | 15 |
| 3 | 7 | FW | Luis Díaz | 6 | 2 | 2 | 1 | 3 | 14 |
| 4 | 13 | DF | Alex Telles | 11 | 1 | 1 | 0 | 0 | 13 |
| 5 | 20 | FW | Zé Luís | 7 | 2 | 0 | 1 | 0 | 10 |
| 6 | 19 | DF | Chancel Mbemba | 2 | 4 | 0 | 0 | 0 | 6 |
| 6 | 5 | DF | Iván Marcano | 5 | 1 | 0 | 0 | 0 | 6 |
| 7 | 27 | MF | Sérgio Oliveira | 3 | 1 | 0 | 1 | 0 | 5 |
| 9 | 17 | FW | Jesús Corona | 4 | 0 | 0 | 0 | 0 | 4 |
| 10 | 49 | FW | Fábio Silva | 1 | 2 | 0 | 0 | 0 | 3 |
| 11 | 22 | MF | Danilo Pereira | 2 | 0 | 0 | 0 | 0 | 2 |
| 11 | 50 | MF | Fábio Vieira | 2 | 0 | 0 | 0 | 0 | 2 |
| 11 | 25 | MF | Otávio | 2 | 0 | 0 | 0 | 0 | 2 |
| 11 | 9 | FW | Vincent Aboubakar | 0 | 0 | 0 | 0 | 2 | 2 |
| 15 | 4 | DF | Diogo Leite | 0 | 0 | 1 | 0 | 0 | 1 |
| 15 | 3 | DF | Pepe | 1 | 0 | 0 | 0 | 0 | 1 |
| 15 | 18 | DF | Wilson Manafá | 1 | 0 | 0 | 0 | 0 | 1 |
| 15 | 15 | MF | Mamadou Loum | 1 | 0 | 0 | 0 | 0 | 1 |
| 15 | 16 | MF | Mateus Uribe | 1 | 0 | 0 | 0 | 0 | 1 |
| 15 | 10 | MF | Shoya Nakajima | 0 | 1 | 0 | 0 | 0 | 1 |
| Totals | Totals | Totals | Totals | 71 | 17 | 9 | 3 | 9 | 109 |

### Clean sheets

| No. | Player | Primeira Liga | Taça de Portugal | Taça da Liga | Champions League | Europa League | Total |
| 32 | Agustín Marchesín | 18 | 0 | 0 | 1 | 0 | 19 |
| 31 | Diogo Costa | 1 | 4 | 2 | 0 | 0 | 7 |
| Totals | Totals | 19 | 4 | 2 | 1 | 0 | 26 |