Kylian Mbappe scored an acrobatic scissor-kick to set up a Club World Cup semi-final showdown with his old employers Paris Saint-Germain and dedicated his celebration to the late Diogo Jota and his brother Andre Silva.
Mbappe, who recently returned from acute gastroenteritis, was brought on as a substitute in the 67th minute after Xabi Alonso again opted to start one of Real Madrid‘s own in Gonzalo Garcia instead.
Real were already leading 2-0 when Mbappe was introduced, but Borussia Dortmund got a goal back in stoppage time through Maximilian Beier and that kickstarted a frantic finale at the MetLife Stadium.
Mbappe’s volley from Arda Guler’s cross – and tribute to Jota in creating the number 20 with his fingers towards the cameras – followed as it appeared Real were indeed cruising through.
However, while we were all watching the replays on the big screen, Dortmund were awarded a penalty and Real were shown a straight red card. Dean Huijsen had pulled back Serhou Guirassy when he was through on goal. Guirassy stepped up himself and scored to make it 3-2.
Seconds later, Thibaut Courtois prevented this game from going to extra time with perhaps the save of the Club World Cup, denying Marcel Sabitzer with a remarkable stop while diving down to his right-hand side in the 10th minute of stoppage time.

Kylian Mbappe scored a stunning scissor-kick as Real Madrid beat Borussia Dortmund

The French captain then dedicated the goal to Diogo Jota with his hands signing the number 20

Jota, who tragically lost his life at 28 in a car accident, wore the No 20 shirt at Liverpool
With PSG beating Bayern Munich earlier in the day, we will now see a semi-final between the 2025 Champions League winners versus Real, the 15-time conquerers of that European competition. Chelsea will face Fluminense in the other semi.
This was only Mbappe’s second appearance of the Club World Cup, having also been a substitute versus Juventus in the last 16. In his absence, and that of Endrick, Gonzalo Garcia has stepped up and then some.
The 21-year-old Madrid-born forward – linked with Chelsea, of course – scored his fourth goal in five games in the United States to give Real the lead over Dortmund here. It was so simple, too, as he found the space he needed to tap in Guler’s cross.
In scoring, he took himself to the top of the Golden Boot leaderboard, level with Angel Di Maria of Benfica and Marcos Leonardo of Al-Hilal. This follows on from him scoring 25 goals in 36 games for Real Madrid Castilla – their reserve side – over the last season alongside the odd senior appearance. The MetLife Stadium’s crowd was 90 per cent in support of Real and they went wild upon their side taking the lead in the 10th minute.
It was 2-0 after 20 minutes when Trent Alexander-Arnold underlapped and sprinted on to a ball in behind. His cross evaded every man in yellow in the box as it trickled to the arriving Fran Garcia, who scored from eight yards.
There was also Jude Bellingham for Real, but no Jobe for Dortmund, owing to the younger brother being suspended. The older sibling should have added a third for Real after a gorgeous dummy by Vinicius Junior left him with only Dortmund goalkeeper Gregor Kobel to beat, but he dragged wide with his weaker foot.
Like Bellingham, Vinicius then squandered his own opportunity to make it three when Real launched into a lightning counter-attack from a Dortmund corner. Kobel was still backtracking towards his box when Vinicius tried but failed to execute a lob. Really, he should have scored.
In the 62nd minute, Aurelien Tchouameni curled one from 25 yards. Kobel was rooted, and then grateful when the ball crashed back off his crossbar.

Impressive youngster Gonzalo Garcia took himself to the top of the Golden Boot race

Serhou Guirassy netted from the spot on 98 minutes to make it 3-2 and tee up a tense finale

Mbappe netted on just his second appearance of the tournament after an earlier illness
Mbappe was introduced after 67 minutes – to a loud ovation from the 76,611 supporters in attendance – alongside Luka Modric and Dani Ceballos. Vinicius, Bellingham and Alexander-Arnold were replaced in that triple substitution.
Amid five minutes of stoppage time, Dortmund got a goal back through Beier’s strike. Moments later, Real restored their two-goal lead with Mbappe scoring a scissor-kick at the back post from Guler’s cross.
Immediately from the restart, Dortmund were awarded a penalty as Huijsen fouled Guirassy, who converted to make it 3-2 as Real were reduced to 10 men.
At the very end, Courtois produced a stupendous save, denying Sabitzer with remarkable reactions. After a breathless finish, it is Real who will face PSG in the semis.