Começou por ser um jogo equilibrado pelas duas equipas, mas rapidamente o FC Porto mostrou-se superior e tomou conta da primeira parte da partida, deixando o Desportivo das Aves com algumas dificuldades para conseguir organizar o seu jogo. 

Desde cedo a pressionar e a tentar ganhar profundidade, principalmente pelas alas, o FC Porto conta dá ao jogo o seu primeiro momento de perigo logo aos 8 minutos na sequência de um canto, mas Bernaudeau, guarda redes do Aves, trava o golo com uma grande defesa, onde se desconfia também de problemas físicos com Marega, sendo Sérgio Conceição obrigado a mandar os seus jogadores aquecer desde cedo.

Dois minutos depois, aos 10 minutos de jogo, o Aves consegue dar resposta, com uma grande jogada de Rúben Oliveira, que acabou com a defesa de Casillas. Uns minutos mais tarde, aos 16 minutos, Bernaudeau evita que Marega coloque o Futebol Clube do Porto na frente do marcador. Aos 20 minutos de jogo, o guardião do Aves volta a presentear os seus adeptos com uma grande defesa, desta vez travando um cabeceamento de Soares. 

Aos 23 minutos, Soares consegue colocar a bola dentro das redes de Bernaudeu, porém o golo é anulado por fora de jogo do avançado do Porto.

Éder Militão mostra-se concentrado e, ao conseguir romper a defesa do Aves, lança o FC Porto para a frente do marcador aos 25 minutos de jogo. Felipe acaba por ser o primeiro jogador a ver o amarelo, depois de derrubar Hamilton quando este tentava posicionar-se de forma estratégica e construir a jogada de contra-ataque.

Aos 37 minutos, Danilo consegue aumentar a vantagem do Porto, na sequência de um canto batido por Alex Telles. Mas, mais uma vez, o golo é anulado por fora de jogo do médio portista, desta vez com indicações do VAR. 

Ao bater o tempo de intervalo, o Aves consegue um livre bastante perigoso, que Rodrigo bate diretamente para as mãos de Casillas. Desta forma, o FC Porto consegue chegar ao final da primeira parte a vencer pela diferença mínima. 

O Desportivo das Aves entrou melhor na segunda parte, em especial no meio campo e adicionou algumas jogadas de perigo. Hamilton acabou por ver o amarelo depois de fazer uma entrada perigosa sobre Brahimi nos primeiros minutos da segunda parte.

Ao minuto 60 o FC Porto cria uma jogada de perigo com um cabeceamento de Danilo que passou bastante perto do poste.  O Porto foi perdendo intensidade ao longo do jogo e, aos 67 minutos, surge mesmo uma jogada de perigo por parte do Aves, que foi travada com um bom corte de Felipe. 

Já perto dos 90 minutos, a equipa médica do Porto viu-se obrigada a entrar em campo, depois de Éder Militão chocar com o seu companheiro de equipa, Marega. Uns minutos mais tarde, Herrera faz uma falta e oferece ao adversário um livre que podia ser bastante perigoso, mas acabou por passar ao lado da baliza de Iker Casillas ditando assim o final da partida.

O FC Porto segue assim isolado na frente do campeonato, no dia em que se conhece que Rui Vitória deixou o comando técnico do SL Benfica.