Gil Vicente: 30. Lucão - 4. Elimbi (till 84), 39. Buatu J., 45. Moreira D-d, 47. Esgaio - 12. Lausen (Zé Carlos, 60), 77. Murilo, 86. Prioste (Tourе T., 76) - 10. Garcia Santi (Guilherme G., 75) - 9. Franca (Kaba S. K., 60), 11. Fernandes J. (Martins Gil, 60)
Substitution: Zé Carlos (from 60); Martins Gil (from 60); Kaba S. K. (from 60); Guilherme G. (from 75); Tourе T. (from 76)
Bench: 1. Picornell, 94. Samuel P. - 2. Augusto J. S., 3. Espigares - 82. Maia G. - 27. Moreira Ag., 32. Fernandez M-n
Red cards: Elimbi 84'
Porto: 99. Costa D. - 4. Kiwior, 5. Bednarek, 12. Sanusi, 20. Alberto Costa - 10. Veiga G. (Hwang In-beom, 46), 11. Pepê E., 13. Rosario (Varela A., 72) - 8. Froholdt - 19. André Silva (Samu, 60), 77. Pietuszewski
Substitution: Hwang In-beom (from 46); Samu (from 60); Varela A. (from 72); Gimenez S. (from 73)
Bench: 14. Ramos - 6. Smalling, 18. Pérez N., 52. Fernandes M., 74. Moura - 17. Sainz B., 42. Fofana S. - 37. Gabriel Mec
Yellow Cards: Rosario 56
Forest have reached a European semi-final for the first time since 1984

Despite showing attacking intent and creating a host of chances, the German side were unable to overturn their first-leg deficit

The latest Primeira Liga clássico ended in a dramatic 2–2 draw

FC Porto ended a two-year winless streak against their fierce rivals

The 41-year-old Brazilian has signed a contract that will run until June 2026

FC Porto delivered a masterclass in fast, ruthless football, dismantling OGC Nice

Gil Vicente
Porto