Wales have the biggest win in their history; Belgium have blown their best chance of winning a major tournament.
The Red Devils had one foot in the Euro 2016 semi-finals when Radja Nainggolan gave them a 13th-minute lead with a piledriver. With Wales forced to chase the game, Belgium could play to their strengths: their counter-attack.
Instead, Wales made them pay for their biggest weakness on the night - a makeshift defence. Three of Belgium's first-choice back four were out of the clash at the Stade Pierre Mauroy. Skipper Vincent Kompany had been ruled out of the tournament through injury, Thomas Vermaelen was suspended, and Jan Vertonghen tore his ankle ligaments on the eve of the quarter-final in Lille.
Vermaelen's and Vertonghen's replacements Jason Denayer and Jordan Lukaku could only stand and watch as Ashley Williams equalised in the 31st minute. The Wales skipper lost both defenders and rose unmarked to head home Aaron Ramsey's corner.
If that was bad defending, the Belgium defence would not want to look at the replays of Hal Robson-Kanu's 55th minute goal.
Ramsey's cross found Robson-Kanu in the box, with three defenders for company. All the Belgium players expected the striker to lay the ball off. Instead, he took all of them out of the game with a Cruyff turn, and calmly sidefooted past Thibaut Courtois from 10 yards out.
Wales then showed Belgium just how to seal the game in the 86th minute, when substitute Sam Vokes nodded Chris Gunter's cross past Courtois.
The turnaround was complete. The scalp of the world No.2-ranked side claimed. And Wales are through to their first semi-finals at a major tournament.
- In the seventh minute, Romelu Lukaku's cross from the left flank found Yannick Carrasco in space. The midfielder had time to take the ball down in the box and get a firm shot away but Wayne Hennessey saved. The rebound fell to Thomas Meunier and his shot was blocked. Eden Hazard followed up and his effort was cleared off the line by Williams.
- Six minutes later, Belgium could not be denied the opener. Nainggolan allowed Hazard's pass to run across his body before unleashing a first-time strike from 25 yards out. The scorching effort arrowed into the top left corner of the net. Hennessey got fingertips to the ball but it had too much pace.
- In the 26th minute, Ramsey, on the right flank, pulled the ball back for Neil Taylor. Taylor raced onto it, and his first-time shot from 10 yards out was saved by Courtois.
- Five minutes later, Williams equalised. Unmarked in the box, his downward header from Ramsey's corner zipped past Kevin de Bruyne on the goal-line.
- In the 48th minute, Meunier delivered a perfect cross for Romelu Lukaku. He had a free header but nodded wide.
- Two minutes later, Hazard drove inside from the left flank and took a shot. But the ball ended on the wrong side of the far post.
- In the 55th minute, Robson-Kanu equalised.
- In the 74th minute, Toby Alderweireld's cross is met by Fellaini but he heads wide.
- Four minutes from time, Gunter's cross from the right flank was headed into the net by Vokes from about 10 yards out.
The talking point
Will Belgium get a better chance to win a major tournament? They were the favourites among the teams in the top half of the draw to make the final, and the overwhelming favourites to beat Wales.
But once again, Belgium fell to another team that plays with a 3-5-2 formation. Italy are the only other side in Euro 2016 to employ that system and they saw Belgium off 2-0 in their opener. Welsh wing-backs Gunter and Taylor proved vital in this victory, with the former registering an assist.
This is now the second time Belgium's golden generation have played in a major tournament together after reaching the 2014 World Cup quarter-finals. The likes of Courtois, Alderweireld, Vermaelen, Vertonghen, De Bruyne and Hazaard have collectively underperformed in France.
Man of the Match
Ramsey. On a relatively quiet night for Wales talisman Gareth Bale, Ramsey was the attacking inspiration. He created six chances and was Wales' most consistent attacking outlet. Two of his crosses were assists and he should have had a third, if not for Courtois' huge save from Taylor.
What the result means
Wales will face Portugal on Wednesday for a place in the final, with Real Madrid team-mates Bale and Cristiano Ronaldo squaring off.
Ben Davies and Ramsey will be suspended for the game after picking up another yellow card on Friday. Ramsey will be a huge loss for Wales and Andy King, a Premier League winner with Leicester City, is expected to deputise against Portugal.
Wales have equalled the best performance of a British team in a European Championship (England on 1968 and 1996).
What they said
Williams: "I'm pleased (to score). I'm more pleased we got through. I don't score many goals. It's hard to take in at the minute. I think we responded well."
Robson-Kanu: "We did well to get back into the game. We knew if we kept playing like in the first half we'd get our just rewards. It's hard to describe. We've worked so hard for this over the last eight years. Long may it continue."
Wales manager Chris Coleman: "Don't be afraid to have dreams. Four years ago I was as far away from this as you could imagine. I;ve had more failures than successes but I'm not afraid to fail. We deserve this."