Substitute Mikel Merino struck late as Spain beat Belgium 2-1 in their World Cup quarter-final on Friday, booking a semi-final against France in Dallas on Tuesday.
European champions Spain went ahead in the 30th minute when Fabian Ruiz converted a rebound after Thibaut Courtois had superbly saved Dani Olmo's strike.
Belgium levelled in the 41st minute through Charles De Ketelaere, who headed Timothy Castagne's cross past goalkeeper Unai Simon.
Courtois was forced off midway through the second half and replaced by Senne Lammens.
Merino, introduced after 86 minutes, pounced two minutes later after Lammens failed to hold Pau Cubarsi's low strike.
Merino strike sends Spain past Belgium into World Cup semis
Spain's Mikel Merino celebrates with Marc Cucurella after the match as Spain qualify for the semi finals of the World Cup. (Reuters Photo)