Kroatië kwam vroeg in de tweede helft op voorsprong via een goal van PSV'er Ivan Perisic. Cristiano Ronaldo bracht zijn land een kwartier later langszij via een strafschop.

De wedstrijd stevende op een verlenging af, maar vervolgens brak een bizarre slotfase aan. Gonçalo Ramos zette de Portugezen in de derde minuut van de blessuretijd op voorsprong.

Kroatië dacht in de dertiende minuut van de blessuretijd nog de 2-2 te maken, maar het doelpunt van Josko Gvardiol werd na tussenkomst van de VAR afgekeurd wegens buitenspel. De extra tijd duurde uiteindelijk maar liefst negentien minuten.

Portugal neemt het in de achtste finales op tegen Spanje. Het buurland won donderdag met 3-0 van Oostenrijk.

Het was voor Portugal een emotioneel duel in Toronto, want precies een jaar geleden verongelukte Diogo Jota. De aanvaller kwam op 28-jarige leeftijd samen met zijn broer om het leven bij een auto-ongeluk in Spanje.