# 2016–17 FC Porto season

The 2016–17 FC Porto season was the club's 107th competitive season and the 83rd consecutive season in the top flight of Portuguese football. It began on 12 August 2016 and concluded on 21 May 2017. For the third consecutive season, Porto failed to win any of the official competitions in which it was involved. The last time the team had at least three successive seasons without winning a trophy was before 1976–77.
As in the previous two seasons, Porto did not begin their campaign by playing the Supertaça Cândido de Oliveira, as they failed to qualify for the 2016 edition by not winning either the 2015–16 Primeira Liga title (retained by Benfica) or the 2015–16 Taça de Portugal (final lost to Braga). Their 2016–17 Primeira Liga debut match was a 3–1 away win against Rio Ave, with Mexican winger Jesús Corona scoring the team's first league goal. Porto finished the league in second place with 76 points, 6 points behind four-time champions Benfica, thus failing to win the title for the fourth successive season, which had not happened since the 1982–83 season.
Besides competing for the Primeira Liga title, Porto participated in other domestic competitions. In the 2016–17 Taça de Portugal, they were eliminated in the fourth round by Chaves, losing 3–2 after a penalty shootout. The team also participated in the 2016–17 Taça da Liga, but were eliminated in the starting round for the second consecutive season after finishing last in their third-round group.
In UEFA competitions, Porto secured their sixth consecutive and 21st overall participation in the UEFA Champions League group stage – a record shared with Barcelona and Real Madrid – after overcoming the play-off round. They reached the round of 16, where they were eliminated by eventual losing finalists Juventus.

## Players
### Squad information

| N | Pos. | Name | Age | EU | Since | App | Goals | Ends | Transfer fee | Notes |
| 1 | GK | Iker Casillas | 43 | EU | 2015 | 83 | 0 | 2017 | Undisclosed | |
| 2 | DF | Maxi Pereira | 40 | EU | 2015 | 77 | 3 | 2018 | Free | |
| 4 | DF | Willy Boly | 33 | EU | 2016 | 8 | 0 | 2021 | €6.5M | |
| 5 | DF | Iván Marcano | 37 | EU | 2014 | 111 | 7 | 2018 | €2.65M | |
| 6 | MF | Rúben Neves | 27 | EU | 2014 | 93 | 4 | 2019 | Youth system | |
| 8 | FW | Yacine Brahimi | 34 | EU | 2014 | 117 | 29 | 2019 | €6.5M | Second nationality: France |
| 9 | FW | Laurent Depoitre | 35 | EU | 2016 | 13 | 2 | 2020 | €6M | |
| 10 | FW | André Silva | 29 | EU | 2015 | 58 | 24 | 2019 | Youth system | |
| 12 | GK | José Sá | 31 | EU | 2016 | 6 | 0 | 2020 | Undisclosed | |
| 13 | DF | Alex Telles | 31 | EU | 2016 | 45 | 1 | 2021 | €6.5M | Second nationality: Italy |
| 16 | MF | Héctor Herrera | 34 | Non-EU | 2013 | 150 | 21 | 2019 | €8M | |
| 17 | FW | Jesús Corona | 31 | Non-EU | 2015 | 76 | 14 | 2020 | €10.5M | |
| 18 | MF | João Carlos Teixeira | 31 | EU | 2016 | 10 | 0 | 2020 | Free | |
| 19 | FW | Diogo Jota | 27 | EU | 2016 | 38 | 9 | 2017 | — | Loan from Atlético Madrid |
| 20 | MF | André André | 35 | EU | 2015 | 70 | 7 | 2019 | €1.5M | |
| 21 | DF | Miguel Layún | 36 | EU | 2015 | 66 | 9 | 2019 | €6M | Second nationality: Spain |
| 22 | MF | Danilo Pereira | 33 | EU | 2015 | 86 | 10 | 2019 | €2.8M | |
| 24 | GK | João Costa | 28 | EU | 2016 | 0 | 0 | Undisclosed | Youth system | Also plays for Porto B |
| 25 | MF | Otávio | 29 | Non-EU | 2014 | 33 | 3 | 2021 | €2.5M | |
| 28 | DF | Felipe | 35 | Non-EU | 2016 | 45 | 3 | 2021 | €6M | |
| 29 | FW | Soares | 33 | Non-EU | 2017 | 17 | 12 | 2021 | €5.6M | |
| 30 | MF | Óliver Torres | 30 | EU | 2014 | 79 | 10 | 2017 | — | Loan from Atlético Madrid |
| 33 | DF | Chidozie Awaziem | 27 | EU | 2016 | 13 | 1 | 2020 | Undisclosed | Also plays for Porto B |
| 45 | DF | Inácio | 28 | EU | 2016 | 1 | 0 | 2021 | €3M | Also plays for Porto B |
| 59 | FW | Rui Pedro | 26 | EU | 2016 | 13 | 2 | 2021 | Youth system | Also plays for Porto B |
* Source: FC Porto, Thefinalball.com
* Ordered by squad number.

### Transfers
#### In

| Date | Pos. | Name | Nationality | Age | Transferred from | Window | Until | Fee |
| 28 May 2016 | DF | Miguel Layún | Mexico | 36 | Watford (England) | Summer | 2019 | €6M |
| 13 June 2016 | MF | João Carlos Teixeira | Portugal | 31 | Liverpool (England) | Summer | 2020 | Free (end of contract) |
| 15 June 2016 | DF | Felipe | Brazil | 35 | Corinthians (Brazil) | Summer | 2021 | €6M |
| 28 June 2016 | FW | Zé Manuel | Portugal | 34 | Boavista (Portugal) | Summer | Undisclosed | Undisclosed |
| 12 July 2016 | DF | Alex Telles | Brazil | 31 | Galatasaray (Turkey) | Summer | 2021 | €6.5M |
| 8 August 2016 | FW | Laurent Depoitre | Belgium | 35 | Gent (Belgium) | Summer | 2020 | €6M |
| 31 August 2016 | DF | Willy Boly | France | 33 | Braga (Portugal) | Summer | 2021 | €6.5M |
| 23 January 2017 | FW | Soares | Brazil | 33 | Vitória de Guimarães (Portugal) | Winter | 2021 | €5.6M |

#### Loan in

| Date | Pos. | Name | Nationality | Age | Loaned from | Window | Until | Ref. |
| 25 August 2016 | MF | Óliver Torres | Spain | 30 | Atlético Madrid (Spain) | Summer | 31 December 2017 | |
| 26 August 2016 | FW | Diogo Jota | Portugal | 27 | Atlético Madrid (Spain) | Summer | 30 June 2017 | |

#### Loan return

| Date | Pos. | Name | Nationality | Age | Returned from | Window | Until |
| 1 July 2016 | MF | Otávio | Brazil | 29 | Vitória de Guimarães (Portugal) | Summer | 30 June 2021 |
| 1 July 2016 | FW | Adrián López | Spain | 36 | Villarreal (Spain) | Summer | 30 June 2019 |
| 1 January 2017 | FW | Kelvin | Brazil | 31 | São Paulo (Brazil) | Winter | 30 June 2018 |

#### Out

| Date | Pos. | Name | Nationality | Age | Transferred to | Window | Fee |
| 31 August 2016 | FW | Licá | Portugal | 36 | Nottingham Forest (England) | Summer | Undisclosed |
| 13 January 2017 | MF | Evandro | Brazil | 38 | Hull City (England) | Winter | Undisclosed |
| 21 January 2017 | MF | Silvestre Varela | Portugal | 39 | Kayserispor (Turkey) | Winter | Undisclosed |

#### Loan out

| Date | Pos. | Name | Nationality | Age | Loaned to | Window | Until |
| 6 June 2016 | MF | Tiago Rodrigues | Portugal | 32 | Nacional (Portugal) | Summer | 30 June 2017 |
| 8 June 2016 | GK | Ricardo Nunes | Portugal | 42 | Chaves (Portugal) | Summer | 30 June 2017 |
| 1 July 2016 | GK | Fabiano | Brazil | 36 | Fenerbahçe (Turkey) | Summer | 30 June 2017 |
| 20 July 2016 | FW | Moussa Marega | Mali | 33 | Vitória de Guimarães (Portugal) | Summer | 30 June 2017 |
| 20 July 2016 | FW | Zé Manuel | Portugal | 34 | Vitória de Setúbal (Portugal) | Summer | 30 June 2017 |
| 23 July 2016 | GK | Andrés Fernández | Spain | 37 | Villarreal (Spain) | Summer | 30 June 2017 |
| 23 July 2016 | DF | José Ángel | Spain | 35 | Villarreal (Spain) | Summer | 30 June 2017 |
| 26 July 2016 | DF | Abdoulaye Ba | Senegal | 33 | Alanyaspor (Turkey) | Summer | 25 January 2017 |
| 26 July 2016 | FW | Leocísio Sami | Guinea-Bissau | 35 | Akhisar Belediyespor (Turkey) | Summer | 30 June 2017 |
| 2 August 2016 | DF | Igor Lichnovsky | Chile | 30 | Valladolid (Spain) | Summer | 30 June 2017 |
| 11 August 2016 | FW | Suk Hyun-jun | South Korea | 33 | Trabzonspor (Turkey) | Summer | 30 June 2017 |
| 23 August 2016 | MF | Josué | Portugal | 34 | Galatasaray (Turkey) | Summer | 30 June 2017 |
| 25 August 2016 | FW | Hernâni | Portugal | 33 | Vitória de Guimarães (Portugal) | Summer | 30 June 2017 |
| 27 August 2016 | FW | Vincent Aboubakar | Cameroon | 32 | Beşiktaş (Turkey) | Summer | 30 June 2017 |
| 31 August 2016 | GK | Sinan Bolat | Turkey | 36 | Nacional (Portugal) | Summer | 30 June 2017 |
| 31 August 2016 | DF | Bruno Martins Indi | Netherlands | 32 | Stoke City (England) | Summer | 30 June 2017 |
| 31 August 2016 | DF | Diego Reyes | Mexico | 32 | Espanyol (Spain) | Summer | 30 June 2017 |
| 31 August 2016 | FW | Alberto Bueno | Spain | 36 | Granada (Spain) | Summer | 31 January 2017 |
| 31 August 2016 | FW | Nabil Ghilas | Algeria | 34 | Gaziantepspor (Turkey) | Summer | 30 June 2018 |
| 13 September 2016 | MF | Juan Quintero | Colombia | 31 | Independiente Medellín (Colombia) | Summer | 31 December 2017 |
| 21 January 2017 | FW | Adrián López | Spain | 36 | Villarreal (Spain) | Winter | 30 June 2017 |
| 25 January 2017 | DF | Abdoulaye Ba | Senegal | 33 | 1860 Munich (Germany) | Winter | 30 June 2017 |
| 31 January 2017 | FW | Alberto Bueno | Spain | 36 | Leganés (Spain) | Winter | 30 June 2017 |
| 31 January 2017 | MF | Sérgio Oliveira | Portugal | 32 | Nantes (France) | Winter | 30 June 2017 |
| 3 February 2017 | FW | Kelvin | Brazil | 31 | Vasco da Gama (Brazil) | Winter | 30 June 2018 |

## Technical staff

| Position | Name |
| Head coach | Nuno Espírito Santo |
| Assistant coach(es) | Rui Barros Rui Pedro Silva |
| Goalkeeping coach | Rui Barbosa |
| Fitness coach | António Dias |
Source: FC Porto

## Pre-season and friendlies

Porto announced their pre-season fixture list on 22 June 2016.
Win  Draw  Loss

## Competitions
### Overall record

Performance by competition :
| Competition | Starting round | Final position/round | First match | Last match |
| Primeira Liga | — | 2nd | 12 August 2016 | 21 May 2017 |
| Taça de Portugal | Third round | Fourth round | 15 October 2016 | 18 November 2016 |
| Taça da Liga | Third round | Third round (4th) | 29 November 2016 | 3 January 2017 |
| UEFA Champions League | Play-off round | Round of 16 | 17 August 2016 | 14 March 2017 |
Statistics by competition :
| Competition | Pld | W | D | L | GF | GA | GD | Win% |
| Primeira Liga | 34 | 22 | 10 | 2 | 71 | 19 | +52 | 064.71 |
| Taça de Portugal | 2 | 1 | 1 | 0 | 3 | 0 | +3 | 050.00 |
| Taça da Liga | 3 | 0 | 2 | 1 | 1 | 2 | −1 | 000.00 |
| UEFA Champions League | 10 | 4 | 3 | 3 | 13 | 7 | +6 | 040.00 |
| Total | 49 | 27 | 16 | 6 | 88 | 28 | +60 | 055.10 |

### Primeira Liga
#### League table

| Pos | Teamvte | Pld | W | D | L | GF | GA | GD | Pts | Qualification or relegation |
| 1 | Benfica (C) | 34 | 25 | 7 | 2 | 72 | 18 | +54 | 82 | Qualification for the Champions League group stage |
| 2 | Porto | 34 | 22 | 10 | 2 | 71 | 19 | +52 | 76 | Qualification for the Champions League group stage |
| 3 | Sporting CP | 34 | 21 | 7 | 6 | 68 | 36 | +32 | 70 | Qualification for the Champions League play-off round |
| 4 | Vitória de Guimarães | 34 | 18 | 8 | 8 | 50 | 39 | +11 | 62 | Qualification for the Europa League group stage |
| 5 | Braga | 34 | 15 | 9 | 10 | 51 | 36 | +15 | 54 | Qualification for the Europa League third qualifying round |
* 1 2 Since Benfica won the 2016–17 Taça de Portugal, the spot awarded to the cup winner (Europa League group stage) was passed to the fourth-placed team and the spot originally meant for the fourth-placed team (Europa League third qualifying round) was given to the sixth-placed team.

#### 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 | H | A | H | H | A | H | A | H | A | H | A | H | A | H | A | H | A | A | H | A |
| Result | W | W | L | W | D | W | W | W | D | D | D | W | W | W | W | D | W | W | W | W | W | W | W | W | W | D | D | W | D | D | W | D | W | L |
| Position | 1 | 1 | 6 | 4 | 3 | 3 | 2 | 2 | 2 | 2 | 4 | 3 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |

#### Matches

* ↑ The match was originally to be played on 21 December 2016 but it was brought forward.

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

| Pos | Team | Pld | W | D | L | GF | GA | GD | Pts | Qualification | MOR | BEL | FEI | POR |
| 1 | Moreirense | 3 | 2 | 1 | 0 | 6 | 4 | +2 | 7 | Advance to knockout phase | — | 3–3 | — | 1–0 |
| 2 | Belenenses | 3 | 0 | 3 | 0 | 5 | 5 | 0 | 3 | | — | — | 2–2 | — |
| 3 | Feirense | 3 | 0 | 2 | 1 | 4 | 5 | −1 | 2 | | 1–2 | — | — | — |
| 4 | Porto | 3 | 0 | 2 | 1 | 1 | 2 | −1 | 2 | | — | 0–0 | 1–1 | — |

### UEFA Champions League
#### Group stage

| Pos | Teamvte | Pld | W | D | L | GF | GA | GD | Pts | Qualification | LEI | POR | CPH | BRU |
| 1 | Leicester City | 6 | 4 | 1 | 1 | 7 | 6 | +1 | 13 | Advance to knockout phase | — | 1–0 | 1–0 | 2–1 |
| 2 | Porto | 6 | 3 | 2 | 1 | 9 | 3 | +6 | 11 | Advance to knockout phase | 5–0 | — | 1–1 | 1–0 |
| 3 | Copenhagen | 6 | 2 | 3 | 1 | 7 | 2 | +5 | 9 | Transfer to Europa League | 0–0 | 0–0 | — | 4–0 |
| 4 | Club Brugge | 6 | 0 | 0 | 6 | 2 | 14 | −12 | 0 | | 0–3 | 1–2 | 0–2 | — |

#### Round of 16
## Statistics
### Appearances and discipline

| No. | Pos. | Nat. | 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 | Total | Total | Total | Total |
| No. | Pos. | Nat. | Player | Apps | | | | Apps | | | | Apps | | | | Apps | | | | Apps | | | |
| 1 | GK | | Iker Casillas | 33 (0) | 2 | 0 | 0 | 0 (0) | 0 | 0 | 0 | 0 (0) | 0 | 0 | 0 | 10 (0) | 0 | 0 | 0 | 43 (0) | 2 | 0 | 0 |
| 2 | DF | | Maxi Pereira | 23 (1) | 8 | 1 | 1 | 2 (0) | 1 | 0 | 0 | 2 (0) | 2 | 0 | 0 | 7 (0) | 2 | 0 | 1 | 34 (1) | 13 | 1 | 2 |
| 3 | MF | | Sérgio Oliveira | 1 (1) | 0 | 0 | 0 | 0 (0) | 0 | 0 | 0 | 0 (0) | 0 | 0 | 0 | 1 (1) | 1 | 0 | 0 | 2 (2) | 1 | 0 | 0 |
| 4 | DF | | Willy Boly | 4 (0) | 0 | 0 | 0 | 1 (0) | 0 | 0 | 0 | 2 (0) | 1 | 0 | 0 | 1 (1) | 0 | 0 | 0 | 8 (1) | 1 | 0 | 0 |
| 5 | DF | | Iván Marcano | 32 (0) | 5 | 0 | 0 | 2 (0) | 1 | 0 | 0 | 2 (0) | 0 | 0 | 0 | 10 (0) | 2 | 0 | 0 | 46 (0) | 8 | 0 | 0 |
| 6 | MF | | Rúben Neves | 13 (7) | 4 | 0 | 0 | 0 (0) | 0 | 0 | 0 | 2 (0) | 1 | 0 | 0 | 3 (2) | 0 | 0 | 0 | 18 (9) | 5 | 0 | 0 |
| 7 | FW | | Silvestre Varela | 4 (3) | 0 | 0 | 0 | 1 (0) | 0 | 0 | 0 | 1 (0) | 0 | 0 | 0 | 1 (1) | 0 | 0 | 0 | 7 (4) | 0 | 0 | 0 |
| 8 | MF | | Yacine Brahimi | 22 (6) | 2 | 0 | 1 | 1 (1) | 0 | 0 | 0 | 3 (0) | 3 | 1 | 0 | 5 (2) | 0 | 0 | 0 | 31 (9) | 5 | 1 | 1 |
| 9 | FW | | Laurent Depoitre | 7 (5) | 0 | 0 | 0 | 2 (2) | 0 | 0 | 0 | 3 (0) | 0 | 0 | 0 | 1 (1) | 0 | 0 | 0 | 13 (8) | 0 | 0 | 0 |
| 10 | FW | | André Silva | 32 (4) | 3 | 0 | 0 | 2 (0) | 0 | 0 | 0 | 0 (0) | 0 | 0 | 0 | 10 (0) | 3 | 0 | 0 | 44 (4) | 6 | 0 | 0 |
| 11 | FW | | Adrián López | 5 (4) | 0 | 0 | 0 | 0 (0) | 0 | 0 | 0 | 1 (1) | 0 | 0 | 0 | 3 (1) | 0 | 0 | 0 | 9 (6) | 0 | 0 | 0 |
| 12 | GK | | José Sá | 1 (0) | 2 | 0 | 0 | 2 (0) | 0 | 0 | 0 | 3 (0) | 0 | 0 | 0 | 0 (0) | 0 | 0 | 0 | 6 (0) | 2 | 0 | 0 |
| 13 | DF | | Alex Telles | 32 (0) | 6 | 1 | 0 | 2 (0) | 0 | 0 | 0 | 2 (0) | 1 | 0 | 0 | 9 (0) | 2 | 1 | 0 | 45 (0) | 9 | 2 | 0 |
| 15 | MF | | Evandro | 0 (0) | 0 | 0 | 0 | 1 (1) | 1 | 0 | 0 | 1 (0) | 0 | 0 | 0 | 2 (2) | 0 | 0 | 0 | 4 (3) | 1 | 0 | 0 |
| 16 | MF | | Héctor Herrera | 23 (9) | 1 | 0 | 0 | 1 (0) | 1 | 0 | 0 | 3 (0) | 0 | 0 | 0 | 8 (2) | 3 | 0 | 0 | 35 (11) | 5 | 0 | 0 |
| 17 | FW | | Jesús Corona | 29 (9) | 4 | 0 | 0 | 1 (1) | 0 | 0 | 0 | 2 (1) | 0 | 0 | 0 | 9 (5) | 1 | 0 | 0 | 41 (16) | 5 | 0 | 0 |
| 18 | MF | | João Carlos Teixeira | 8 (8) | 0 | 0 | 0 | 0 (0) | 0 | 0 | 0 | 2 (1) | 0 | 0 | 0 | 0 (0) | 0 | 0 | 0 | 10 (9) | 0 | 0 | 0 |
| 19 | FW | | Diogo Jota | 27 (12) | 3 | 0 | 0 | 2 (0) | 0 | 0 | 0 | 1 (1) | 0 | 0 | 0 | 8 (4) | 1 | 0 | 0 | 38 (17) | 4 | 0 | 0 |
| 20 | MF | | André André | 25 (6) | 7 | 0 | 0 | 1 (0) | 1 | 0 | 0 | 2 (0) | 0 | 0 | 0 | 5 (1) | 2 | 0 | 0 | 33 (7) | 10 | 0 | 0 |
| 21 | DF | | Miguel Layún | 16 (4) | 3 | 0 | 0 | 1 (1) | 0 | 0 | 0 | 0 (0) | 0 | 0 | 0 | 8 (4) | 2 | 0 | 0 | 25 (9) | 5 | 0 | 0 |
| 22 | MF | | Danilo Pereira | 28 (1) | 4 | 0 | 0 | 2 (0) | 0 | 0 | 0 | 1 (0) | 2 | 1 | 0 | 10 (0) | 1 | 0 | 0 | 41 (1) | 7 | 1 | 0 |
| 23 | FW | | Kelvin | 1 (1) | 0 | 0 | 0 | 0 (0) | 0 | 0 | 0 | 0 (0) | 0 | 0 | 0 | 0 (0) | 0 | 0 | 0 | 1 (1) | 0 | 0 | 0 |
| 24 | GK | | João Costa | 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 |
| 25 | MF | | Otávio | 23 (7) | 3 | 0 | 0 | 2 (0) | 0 | 0 | 0 | 0 (0) | 0 | 0 | 0 | 8 (1) | 1 | 0 | 0 | 33 (8) | 4 | 0 | 0 |
| 28 | DF | | Felipe | 32 (0) | 9 | 0 | 0 | 1 (0) | 0 | 0 | 0 | 2 (0) | 1 | 0 | 0 | 10 (0) | 2 | 0 | 0 | 45 (0) | 12 | 0 | 0 |
| 29 | FW | | Soares | 15 (0) | 1 | 0 | 0 | 0 (0) | 0 | 0 | 0 | 0 (0) | 0 | 0 | 0 | 2 (0) | 0 | 0 | 0 | 17 (0) | 1 | 0 | 0 |
| 30 | MF | | Óliver Torres | 29 (5) | 1 | 0 | 0 | 1 (0) | 0 | 0 | 0 | 2 (1) | 0 | 0 | 0 | 7 (0) | 0 | 0 | 0 | 39 (6) | 1 | 0 | 0 |
| 45 | DF | | Inácio | 0 (0) | 0 | 0 | 0 | 0 (0) | 0 | 0 | 0 | 1 (0) | 0 | 0 | 0 | 0 (0) | 0 | 0 | 0 | 1 (0) | 0 | 0 | 0 |
| 59 | FW | | Rui Pedro | 9 (9) | 1 | 0 | 0 | 0 (0) | 0 | 0 | 0 | 3 (3) | 0 | 0 | 0 | 1 (1) | 0 | 0 | 0 | 13 (13) | 1 | 0 | 0 |
| Total | Total | Total | Total | | 69 | 2 | 2 | | 5 | 0 | 0 | | 7 | 2 | 0 | | 23 | 1 | 1 | | 105 | 5 | 3 |

### Goalscorers

| Rank | No. | Pos. | Nat. | Player | Primeira Liga | Taça de Portugal | Taça da Liga | Champions League | Total |
| 1 | 10 | FW | | André Silva | 16 | 0 | 0 | 5 | 21 |
| 2 | 29 | FW | | Soares | 12 | 0 | 0 | 0 | 12 |
| 3 | 19 | FW | | Diogo Jota | 8 | 0 | 0 | 1 | 9 |
| 4 | 8 | MF | | Yacine Brahimi | 6 | 0 | 0 | 1 | 7 |
| 5 | 17 | FW | | Jesús Corona | 3 | 1 | 0 | 2 | 6 |
| 6 | 5 | DF | | Iván Marcano | 4 | 0 | 1 | 0 | 5 |
| 7 | 22 | MF | | Danilo Pereira | 4 | 0 | 0 | 0 | 4 |
| 8 | 28 | DF | | Felipe | 2 | 0 | 0 | 1 | 3 |
| 8 | 21 | DF | | Miguel Layún | 1 | 0 | 0 | 2 | 3 |
| 8 | 30 | MF | | Óliver Torres | 3 | 0 | 0 | 0 | 3 |
| 8 | 25 | MF | | Otávio | 1 | 1 | 0 | 1 | 3 |
| 12 | 9 | FW | | Laurent Depoitre | 1 | 1 | 0 | 0 | 2 |
| 12 | 16 | MF | | Héctor Herrera | 2 | 0 | 0 | 0 | 2 |
| 12 | 59 | FW | | Rui Pedro | 2 | 0 | 0 | 0 | 2 |
| 12 | 2 | DF | | Maxi Pereira | 2 | 0 | 0 | 0 | 2 |
| 16 | 20 | MF | | André André | 1 | 0 | 0 | 0 | 1 |
| 16 | 6 | MF | | Rúben Neves | 1 | 0 | 0 | 0 | 1 |
| 16 | 13 | DF | | Alex Telles | 1 | 0 | 0 | 0 | 1 |
| Total | Total | Total | Total | Total | 70 | 3 | 1 | 13 | 87 |