Wales rallied from an early deficit to defeat Belgium 3-1 and advance to the semifinals in their first European Championship.
Ashley Williams cancelled out Radja Nainggolan's opener, before Hal Robson-Kanu's spectacular goal put Wales ahead and Sam Vokes finished it off with five minutes to play.
Belgium were wondering how they missed a chance to open the scoring in the seventh minute after Romelu Lukaku found an open Yannick Carrasco with a cross, but Wales keeper Wayne Hennessey got across to save.
Thomas Meunier's follow-up attempt was then cleared off the line by Neil Taylor but fell right to Eden Hazard, whose shot was defelected over the bar by a sliding Ben Davies.
Wales pushed back as Robson-Kanu headed over the bar in the ninth minute, and moments later Gareth Bale put a strong shot into the side netting.
Belgium did take the lead before long, though, as Nainggolan was granted acres of space outside the box and unleashed a 25-yard rocket that flew past a diving Hennessey.
The 13th-minute goal seemed to spark Wales into action, and Chris Coleman's men had much more possession after falling behind.
Their first chance to equalise came in the 25th minute when Taylor redirected Aaron Ramsey's pass from the byline, but Thibaut Courtois did well to get back across his goal to save.
But the Belgium keeper could do nothing five minutes later when Williams broke free following a corner and headed in to score his second international goal, and first since 2010.
Wales pushed for more as Bale ran at Jordan Lukaku before shooting across goal, but his attempt was too close to Courtois.
Ramsey continued to prove a danger before the break, his shot from the top of the box deflecting inches past the post.
Williams then broke free again from a corner, but this time he could not keep his header on-target.
Belgium gained a spark when Marouane Fellaini came into the game at the start of the second half, replacing Carrasco.
Romelu Lukaku missed a chance to retake the lead when he headed wide, before Hazard put Wales on full alert by cutting into the box in the 50th minute, but the Chelsea man couldn't curl his shot inside the post.
A good defensive header from Williams was all that stopped Lukaku scoring from another header, and though a goal seemed to be coming for Belgium, it was Wales who took the lead in the 55th minute.
Ramsey corralled a long pass at the side of the box and chipped in a cross to Robson-Kanu, who befuddled three defenders with a magnificent turn before curling a shot past Courtois from 12 yards.
There was more pressure from Wales on the hour mark as Courtois spilled a corner but managed to get his body in the way of Williams' shot.
De Bruyne got in behind the Wales backline in the 71st minute, but his pass across for Lukaku was cut out well by James Chester.
Fellaini nearly found an equaliser with a header, then moments later was in good position to score from substitute Dries Mertens' cross but Davies got a touch to it first.
Davies was lucky not to see a second yellow card for bringing down Lukaku at the top of the box in the 79th minute, and Belgium soon had a penalty shout in the 83rd minute when Nainggolan fell under pressure, only for Slovenian referee Damir Skomina to wave play on.
But despite Belgium's pressure Wales expanded their lead in the 85th minute when Chris Gunter broke free down the sideline and lofted a cross into the box. Substitute Vokes beat Toby Alderweireld to the ball and flicked a header past Courtois to seal the victory.
Wales advance to face Portugal in the first semifinal on Wednesday in Lyon in a tantalising meeting between Real Madrid teammates Bale and Cristiano Ronaldo.
But the Welshmen will be without both Ramsey and Davies, who will be suspended after bookings on Friday.