Mikel Merino emerged as Spain’s hero once again, scoring a dramatic late winner in the 88th minute to secure a 2-1 victory over Belgium and send La Roja into the World Cup semi-finals for the first time since winning the tournament in 2010.

The Arsenal midfielder, who had come on as a substitute just moments earlier, pounced on a rebound after Senne Lammens spilled Pau Cubarsi’s fierce strike, slotting home from close range to break Belgian hearts.

Fabian Ruiz had given Spain the lead in the 30th minute with his first goal of the tournament. But Charles De Ketelaere ended Spain’s remarkable World Cup shutout streak in the 41st minute, heading home Timothy Castagne’s cross to make it 1-1.

The victory sets up a mouth-watering semi-final clash with France on Tuesday at AT&T Stadium in Arlington, Texas. For Belgium, it’s another heartbreaking exit at the quarter-final stage.

Spain dominated possession from the opening whistle, controlling 55 per cent of the ball and creating nine shots in the first half. Lamine Yamal, playing just days before his 19th birthday, was a constant threat down the right flank.

The breakthrough came in the 30th minute. Pedro Porro played a one-two with Yamal and sent a low ball into the box. Dani Olmo struck it first-time, but Thibaut Courtois got down well to save. The rebound fell perfectly for Ruiz, who scrambled home his first goal of the World Cup.

Spain pushed for a second. Yamal curled a shot into the side-netting after some dazzling footwork. But just as La Roja seemed to be turning the screw, Belgium struck.

In the 41st minute, Kevin De Bruyne fed Castagne down the right. The full-back delivered an inviting cross, and De Ketelaere got across teenage defender Pau Cubarsi to head past Unai Simon. It was the first goal Spain had conceded at the entire World Cup, ending Simon’s record run of 649 minutes without conceding .

The second half was a tense, tactical battle. Belgium grew in confidence, with Maxim De Cuyper sending a strike into the side-netting early after the break. Spain responded instantly, with Yamal unleashing a shot at Courtois as both sides traded blows.

Then came the moment that changed the match. Courtois, who had been outstanding, sat down to receive medical treatment and was forced off with an injury in the 71st minute. Senne Lammens came on in his place.

Spain coach Luis de la Fuente made his move in the 85th minute, bringing on Merino for Dani Olmo. Just two minutes later, Cubarsi fired a right-footed shot towards goal. Lammens could not hold it, spilling the ball at the feet of Merino, who smashed it into the back of the net.

Belgium had a late chance to equalise. In the second minute of stoppage time, Spain blundered in their own box, but Belgium could not capitalise. Spain held on for the victory.