Los catalanes se defendieron bien después de que el central del Real Madrid, Éder Militão, marcara un gol en propia puerta en la primera parte, ayudando a los visitantes a sobreponerse a la pérdida de jugadores clave como Robert Lewandowski, Pedri y Ousmane Dembélé, que se perdieron el partido por lesión.
El Barça consiguió una victoria muy necesaria después de llegar a la capital española bajo presión, tras haber sido eliminado de la Liga Europa y haber perdido en el campo del modesto Almería, lo que frenó una racha de siete victorias consecutivas en LaLiga.
«Está claro que nos hubiese gustado tener más posesión, más control con la pelota en el partido, pero ellos han hecho una buena presión. (…) Hemos sabido competir y el equipo ha hecho un trabajo muy grande físico, ha sido solidario, ha tapado muy bien el centro y, pese a que ellos han tenido el control de la posesión, no han tenido ocasiones claras», dijo a TVE el capitán del Barcelona, Sergio Busquets.
El Real Madrid empezó mejor y dominó los primeros 15 minutos, pero el Barcelona acabó por darle la vuelta a la situación, al hacerse con el control del centro del campo e imponer un plan de juego defensivo que funcionó a las mil maravillas.
El central culé Ronald Araújo hizo un gran trabajo en el lateral derecho para neutralizar la amenaza del peligroso Vinícius Júnior, mientras que Karim Benzema se quedó aislado en la delantera.
El Real Madrid acabó frustrado, con los ánimos caldeados antes de que los locales cometieran el error decisivo que dio la victoria al Barça.
El centrocampista madrileño Eduardo Camavinga regaló un pase atrás a Ferrán Torres, que reaccionó rápidamente para pasar el balón a Franck Kessié.
Su disparo a bocajarro fue salvado, pero rebotó en Militão y acabó en la red.
El árbitro asistente señaló fuera de juego, pero la repetición del VAR mostró que Kessié estaba en posición reglamentaria por la mínima y el gol se mantuvo.
El Barcelona cerró al Real Madrid en una situación aún más tensa durante la segunda parte y, aunque los locales dominaron la posesión, rara vez amenazaron con empatar.
El Real Madrid no registró un solo disparo a puerta a pesar de tener casi el 70% de la posesión en la segunda mitad, mientras que el Barça podría haber ampliado su ventaja en el minuto 71, cuando un disparo de Kessié que venció al portero fue bloqueado por Ansu Fati.
El suplente Rodrygo dispuso de la mejor ocasión del Real Madrid, con un disparo lejano que se marchó rozando el poste.
Los equipos volverán a verse las caras en Barcelona el 5 de abril, y el vencedor se enfrentará al Athletic de Bilbao o al Osasuna en la final de la Copa del Rey.