CR7 sblocca il risultato al 25' con una gran punizione. Nella ripresa gli elvetici trovano il pareggio: Brych assegna il rigore dopo il consulto del Var, il milanista Rodriguez trasforma (57'). E' ancora Ronaldo a cambiare, nel finale, le sorti della sfida, prima insaccando su assist di Bernardo Silva (88') e poi firmando il 3-1 in contropiede al 90'.
Il Portogallo va in finale e attende la vincente della sfida di domani tra Olanda e Inghilterra.