El encuentro arrancó con dos plantillas muy cuidadosas, siendo muy precisas e intentando no fallar en ninguna acción. El Real Madrid empezó de forma intensa, tratando de asediar a la defensa rival, mientras que el Borussia Dortmund, a la contra, buscaba exprimir sus oportunidades e intentar poner contra las cuerdas a Courtois. Vinicius quería ser protagonista, no se estaba escondiendo, pero, en los primeros compases, la zaga germana, muy atenta, le estaba cortando el paso. No estaban cómodos los que actuaban como locales, que se veían ligeramente asfixiados por la presión en bloque alto de los merengues, que tenían muy claro su plan de partido.
Poco a poco, los dos conjuntos fueron teniendo más aproximaciones, tratando de inquietar a los dos porteros, que no tuvieron que hacer grandes intervenciones durante el primer cuarto de hora. De esto se querían aprovechar los de Ancelotti, que tenían el reto de demostrar que eran el mejor equipo de Europa. A pesar de ello, los de Terzic no le perdían la cara al duelo, manteniéndose muy ordenados en defensa y a la espera de exprimir cualquier fallo de los madridistas. Con tres ocasiones casi consecutivas, destacando el palo de Füllkrug, los de la cuenca del Ruhr se quedaron realmente cerca de anotar la primera diana del choque, suponiendo esto un claro aviso para los madridistas.
En el tramo final de la primera mitad, a pesar del notable crecimiento del Borussia Dortmund, el Real Madrid quería tener calma. Conscientes de que no se podían dejar llevar por el ritmo vertiginoso por el que apostaba el cuadro alemán, pero no eran capaces de atajar las grandes oportunidades con las que estaban contando los de Terzic, superiores en esta fase del encuentro. Con el paso de los minutos, el empuje rival se fue calmando y el cuadro blanco pudo empezar nuevamente a construir desde el control de la pelota. A pesar de ello, debían tener cuidado, ya que el cuadro alemán no dejaba de exprimir sus fallos defensivos para tener grandes oportunidades. Así, llegaron al descanso, con mucho que mejorar por parte de los merengues, que se encontraban contra las cuerdas.
Tras el paso por los vestuarios, el Real Madrid fue cogiéndole, poco a poco, el pulso al encuentro. Con dos ocasiones consecutivas de Kroos y Carvajal, la escuadra capitalina empezó a demostrar que seguía vivo. Sin embargo, la dinámica no cambiaba, y el Borussia Dortmund, que no había variado su plan, seguía mostrándose sólido, buscando nuevamente la meta defendida por Courtois. A pesar de alguna que otra llegada, los merengues no encontraban una versión arrolladora que les permitiera hundir a la defensa germana, que no estaba teniendo demasiados problemas. Los amarillos, sin perder de vista la meta contraria, no dejaban de apretar en la retaguardia, impidiendo más aproximaciones del 14 veces campeón de Europa.
Con el paso de los minutos, los de Ancelotti no eran capaces de dar un paso al frente y eso acomodaba más y más a su rival. Poco a poco, generaron algunas aproximaciones, pero el tiempo se acababa y necesitaba un golpe de efecto importante para acercarse al trofeo de campeón. El premio llegó cuando menos lo esperaban. Dani Carvajal, con un buen remate de cabeza y, con cierta 'ayuda' de Hummels, puso el 0-1, acercando la Champions al conjunto merengue, que no estaba haciendo un buen partido.
El tramo final del encuentro fue afrontado de una manera completamente diferente por parte del Real Madrid, que respiró aliviado con la diana del 'pepinero'. De hecho, tuvieron el segundo, que pudo ser obra de Bellingham, poco atinado durante el choque. Gran jugada por la línea de fondo, y el mediocampista, solo ante el portero, no consigue anotar, ya que un defensa ha enviado el balón a córner. Ese gol, el de la sentencia, llegó pocos minutos después. Gravísimo error de la defensa del Borussia Dortmund, del que se aprovecha Jude Bellingham, quien deja solo a Vinicius ante Kobel. El brasileño, picando la pelota, bate al meta germano y sentencia la final.
Borussia Dortmund: Kobel; Ryerson, Hummels, Schlotterbeck, Maatsen; Emre Can (Malen, min.80), Sabitzer; Adeyemi (Reus, min.71), Brandt (Haller, min.80), Jadon Sancho (Byone-Gittens, min.85) y Füllkrug
Real Madrid: Courtois; Carvajal, Rüdiger, Nacho, Mendy; Kroos (Modric, min.84), Camavinga, Valverde, Bellingham (Joselu, min.84); Rodrygo (Militao, min.89) y Vinicius (Lucas Vázquez, min. 93).
Goles: 0-1, Carvajal (min.73), 0-2, Vinicius (min.83)
Árbitro: Slavko Vincic. Mostró amarilla a Schlotterbeck, Sabitzer, Hummels por parte del Borussia Dortmund y a Vinicius por parte del Real Madrid
Incidencias: Encuentro correspondiente a la final de la UEFA Champions League, disputado en el estadio de Wembley.