Wales fought back from an early Radja Nainggolan scorcher to secure a 3-1 victory and set up their Euro 2016 semi-final with Portugal.
However, Chris Coleman’s Dragons will be without banned Aaron Ramsey and Ben Davies in Lyon, but it’ll be Gareth Bale against his Real Madrid teammate Cristiano Ronaldo.
Thomas Vermaelen was suspended with Jan Vertonghen injured, so the Belgium back line had to be completely revamped, but Eden Hazard was able to play despite a fitness concern. Wales opted for Hal Robson-Kanu upfront with tournament top scorer Bale in their biggest game since 1958, a replay of the qualifier that got them here.
The average age of the Belgian XI was 24 years and 242 days, the youngest in a European Championship since Yugoslavia v Italy in 1968. Both Lukaku brothers started together for the first time in this tournament.
The Red Devils started very aggressively and on six minutes had three shots cleared off the line in quick succession from Yannick Carrasco, Thomas Meunier and then Hazard’s follow-up was deflected over the bar.
Roma midfielder Nainggolan broke the deadlock with a truly spectacular goal, unleashing one of his right-foot specials from 25 metres into the near top corner. It was clocked at 67mph.
The offside trap failed and Thibaut Courtois performed a stunning reaction save on Neil Taylor, but Wales did equalise with an Ashley Williams downwards header from Aaron Ramsey’s corner.
Wales grew in confidence and Williams nodded another chance over the bar, while Ramsey and Robson-Kanu failed to adequately test Courtois.
Marouane Fellaini came on for the second half to shore up the midfield and provide better defensive coverage in the air. Romelu Lukaku was allowed a free header on Thomas Meunier’s cross, but turned it wide.
Kevin De Bruyne and Hazard skimmed the target, but Wales turned the game around completely. Ramsey rolled across for Robson-Kanu, who performed a spectacular Cruyff turn from 12 yards to fire past Courtois.
Having already lost Vincent Kompany before the tournament began, Belgium’s problems at the back were evident. The lack of a strong tournament mentality that troubled them throughout history was also rearing its ugly head.
Williams volleyed over from another corner and James Chester crucially stopped De Bruyne setting up Lukaku. Fellaini got above Chester only to turn his header wide from five yards on a Toby Alderweireld cross.
Ben Davies ran a huge risk, as he was already booked when tripping Lukaku on the edge of the box, but the referee didn’t even award a free kick. Nainggolan also had penalty appeals for an Ashley Williams tread on his foot.
But Belgium were again caught out on the counter, as substitute Sam Vokes placed a wonderful glancing header into the far top corner from Chris Gunter’s cross. That was his first competitive international goal since June 2008 against Azerbaijan.
Wales 3-1 Belgium
Nainggolan 13 (B), A Williams 31 (W), Robson-Kanu 55 (W), Vokes 86 (W)
Wales: Hennessey; Gunter, Chester, A Williams, Davies, N Taylor; Allen, Ledley (King 78), Ramsey (Collins 90); Bale, Robson-Kanu (Vokes 80)
Belgium: Courtois; Meunier, Alderweireld, Denayer, J Lukaku (Mertens 75); Witsel, Nainggolan; Carrasco (Fellaini 46), De Bruyne, Hazard; R Lukaku (Batshuayi 83)
Ref: Skomina (SVN)