Pepê marcou para os visitantes, enquanto João Cancelo e João Félix garantiram a vitória dos donos da casa, de virada.
Raphinha ainda teve a chance de fazer o terceiro, em um chute lindo de voleio, mas parou na defesa do goleiro adversário.
Com o resultado, o Barcelona garantiu a classificação para as oitavas de final da Liga dos Campeões. O time espanhol ocupa a primeira posição do grupo H, com 12 pontos, contra nove de Porto e Shakhtar Donetsk.
Como portugueses e ucranianos se enfrentam na última rodada, o Barça não pode ser ultrapassado pelos dois e está classificado. O Royal Antwerp é o lanterna do grupo, zerado.
A rodada europeia ainda definiu mais classificados para as oitavas de final. No Grupo F, o Borussia Dortmund conquistou a terceira vitória consecutiva ao bater o Milan, fora de casa, por 3 a 1. O time alemão está em primeiro lugar e não perde mais um lugar na próxima fase.
No outro jogo da chave, o Paris Saint-Germain arrancou um empate no fim contra o Newcastle e ficou em boa situação. O gol de Mbappé deixou a equipe francesa com sete pontos e dependendo apenas de si para avançar. Os ingleses somam cinco, assim como o Milan.
O Grupo E já definiu os dois classificados para as oitavas. O primeiro colocado no momento é o Atlético de Madri, que derrotou o Feyenoord por 3 a 1, fora de casa. Os espanhóis foram a 11 pontos. Também garantiu vaga a Lazio, que bateu o Celtic em casa por 2 a 0, e chegou aos dez pontos.
No Grupo G, o Manchester City derrotou o Leipzig em casa por 3 a 2, após sair perdendo por 2 a 0. Com isso, os atuais campeões seguem com 100% de aproveitamento, com 15 pontos. A equipe alemã está com nove pontos e já está garantida nas oitavas de final.