Kylian Mbappe’s acrobatic volley ensured victory for Real Madrid who finished the match with ten men against the Bundesliga side.
Gonzalo Garcia expertly finished Arda Guler’s pass to give Real Madrid the lead ten minutes in before an overlapping Fran Garcia finished off Trent Alexander-Arnold’s cross to double the lead in the 20th minute.
Real Madrid were coasting to victory before late drama produced three goals and a red card in added time.
Maximilian Beier scored two minutes into added time to half the deficit, but Mbappe responded with an acrobatic finish from Guler’s cross to restore the lead.
Serhou Guirassy was then brought down by Dean Huijsen in the box and the recent acquisition from Bournemouth was shown a straight red card for denying Guirassy a clear scoring opportunity as the last defender.
The Guinea international striker scored the penalty in the eight minute for 3-2.
There was stil time for one last chance but Thibaut Courtois, Real Madrid goalkeeper, expertly denied Dortmund as the 15-time UCL winners hung on for victory.
Xabi Alonso’s side will square off the Paris Saint-Germain, the current UCL holders, who defeated Bayern Munich 2-0 earlier in the day.
The Parisiens finished the match with nine players but defeated their German opponent in the entertaining clash with goals from Desire Doue and Ousmanne Dembele.
Both teams will square off at the MetLife Stadium on Wednesday, July 9.