| Metric | Porto | SCU Torreense |
|---|---|---|
| Possession | 53% | 47% |
| Shots | 10 | 12 |
| Shots on target | 4 | 4 |
| Shots off target | 3 | 4 |
| Corners | 4 | 2 |
| Fouls | 12 | 8 |
| Yellow cards | 3 | 3 |
| Red cards | 0 | 0 |
| Offsides | 0 | 0 |
| Goalkeeper saves | 4 | 4 |
The early pattern was set by Torreense's discipline problems. David Bruno went into the book at 11'44'', and Luis Quintero followed at 17'56'' as Porto pressed for control. A home VAR review at 27'45'' ended with no penalty, but Porto kept pushing and finally found the breakthrough at 37'33'' when Victor Mow Froholdt converted Pepe's assist for the only goal of the game.
William Gomes picked up a yellow card at 44'23'' before the interval, leaving Porto with a 1-0 lead at halftime. The hosts then adjusted quickly after the restart, sending on Alan Varela for Jan Bednarek at 45'09''. Pablo Rosario was cautioned on 59'36'', and Porto refreshed the attack again with Deniz Gul and Borja Sainz introduced just after the hour.
Torreense answered with a run of substitutions from 66'34'' onward, bringing on Adama Baradji, Joel Sebastin Romero Hurtado, Jonathan Mutombo Mawesi, Karem Zoabi and Kevin Zohi as they searched for an equaliser. Porto also turned to Hwang In-beom and Martim Fernandes to protect the lead.
Late yellow cards for Jakub Kiwior at 89'30'' and Dany Jean at 89'45'' added to the tension, while an away VAR check at 90'00'' also finished with no penalty. In the end, the score did not move again, and the highlights, stats and summary all pointed to one decisive first-half moment.