España ganó 1-2 en Stuttgart y eliminó a la anfitriona del torneo, a la Alemania de Toni Kroos. Un golazo de Merino en el 119′ evitó la tanda de penaltis. Carvajal terminó expulsado.
Gran partido entre España y Alemania que ganó España en el último minuto de la prórroga con un espectacular cabezazo de Mikel Merino a centro de Dani Olmo, quien ha sido el mejor jugador del partido, marcando un gol y dando una asistencia.
España se clasifica para las semifinales y se enfrentará el próximo martes 9 de julio al ganador de Francia–Portugal.
El partido comenzó con una clara ocasión para España, una buena combinación entre Nico Williams, Morata y Pedri que remató a las manos de Neuer. España seguía controlando el partido y tuvo alguna ocasión más de gol: un disparo de Fabián que paró Neuer y un disparo desde fuera del área de Dani Olmo que salió desviado.
A partir de ahí, el equipo teutón comenzó a controlar más el partido y creó dos grandes oportunidades de gol: un centro de Kimmich desde la derecha que remató Havertz de cabeza y paró Unai Simón, y un pase en largo de Rüdiger que controló Havertz y su remate fue a las manos de Unai Simón.
La segunda mitad comenzó con un disparo de Morata dentro del área que salió alto, y en el minuto 51, un pase atrás de Lamine a Dani Olmo que remató de primeras y batió a Neuer.
Tras ello, Alemania se lanzó al ataque y creó muchas ocasiones, con un remate de Füllkrug al palo y dos remates de Wirtz que salieron desviados por muy poco. En el minuto 89, un centro desde la izquierda de Kimmich lo tocó de cabeza atrás y remató de primeras Wirtz para batir a Unai Simón y forzar la prórroga.

La prórroga comenzó con un disparo de Musiala que pegó en la mano de Cucurella, pero el colegiado no señaló penalti. Alemania dominaba más pero no creaba peligro.
En la segunda parte de la prórroga apenas hubo oportunidades de gol, pero en el minuto 119, un centro desde la izquierda de Dani Olmo lo remató de cabeza Mikel Merino para marcar un golazo y clasificar a España para las semifinales de la Eurocopa, que se jugará el martes 9 de julio.