Match ends, Wales 3, Belgium 1.
Wales recorded the greatest night in their football history as they came from a goal down to beat Belgium at Euro 2016 and reach the semi-finals of a major tournament for the first time.
Radja Nainggolan put Belgium ahead in Lille with a thunderous 25-yard strike but Wales captain Ashley Williams headed in from a corner to equalise in a breathless first half littered with chances at both ends.
Welsh celebrations reached stratospheric levels when Hal Robson-Kanu, a striker without a club, gave them the lead with a divine turn and finish.
After withstanding late Belgium pressure, Wales sealed victory through a header from substitute Sam Vokes that set up a semi-final against Portugal and a mouth-watering duel between Real Madrid team-mates Gareth Bale and Cristiano Ronaldo.
Wales manager Chris Coleman had described the last-eight tie as Wales' biggest match since their 1958 World Cup quarter-final defeat by Brazil, their only previous appearance in the knockout stages of a major tournament.
His players rose to the occasion wonderfully, recovering from a difficult start to claim what must rank as the greatest win in Welsh football history.
- 'Best display, best result' - why win dwarfs other achievements
- Don't be afraid to dream - Coleman
- Relive Wales win over Belgium
Ultimate team display creates history
Absent from major tournaments for 58 years, Wales have not only ended a barren half a century but propelled Welsh football into unchartered territory.
Previous Welsh sides have claimed iconic results, such as a 2-1 win over Hungary at the 1958 World Cup, a 1991 victory against then world champions Germany and a qualifying triumph against Italy in 2002.
However, those were in isolation and failed to propel Wales on to greater achievements.
Former Wales striker Dean Saunders said: "Heart, desire, determination, organisation - there is a plan that has been put in place and it shows what you can achieve - you start thinking - is our name on it?"
Bale has been a key figure in Wales' success at Euro 2016, scoring three times in the group stages, but this victory highlighted the team spirit that Coleman and his side have spoken of throughout their time together in France.
The Real Madrid forward worked industriously throughout, but his efforts were eclipsed by others such as Williams, who scored despite a shoulder injury which made him a doubt for the game.
Aaron Ramsey was Wales' creative heart - setting up two of the three goals - and it is a crushing blow that both the Arsenal midfielder and Ben Davies will miss the semi-final after picking up a second tournament booking.
And then there was the display from Robson-Kanu, a player who has been inspired by Wales' historic run in this tournament.
Robson-Kanu's moment of genius
Belgium would have seen Bale as the obvious threat going into this game, but it was a free agent released by Reading who gave his side a foothold on 55 minutes.
Coleman's men had to weather several periods of heavy Belgian pressure, but they took the lead in spectacular fashion against a side ranked second in the world, playing only 10 miles from the Belgian border.
A neat move saw Ramsey pass to Robson-Kanu, who bamboozled the defenders surrounding him with a graceful turn which allowed him the space to calmly finish.
There was a symbolism to the goal as Robson-Kanu - released by a Championship side - swept his shot past Chelsea goalkeeper Thibaut Courtois.
Former Wales forward John Hartson said: "If I was a chairman of a Premier League club I would be making Hal Robson-Kanu my next signing. What a goal. He sent Thomas Meunier for a cup of tea and a piece of toast with that turn."
This was a goal which embodied Wales' odds-defying run at Euro 2016, after languishing as low as 117th in the world rankings in 2011.
Next up - Bale v Ronaldo
Coleman stressed before the match that Wales were not content with reaching the quarter-finals, convinced there was more to come from this team.
He has his wish, a semi-final against a Portugal side who have yet to win a game in 90 minutes at Euro 2016.
The match in Lyon on Wednesday pits Bale against Ronaldo, talismen for their country and team-mates for Real Madrid whose occasionally fractious relationship has been the subject of much attention in Spain.
For Wales, however, they will have to play for a place in the final without Arsenal midfielder Ramsey and Tottenham defender Davies, whose bookings against Belgium mean they will be suspended.
Saunders added: "Everything Chris Coleman is doing at the moment is working, we've got every chance of going through and winning it."
Man of the match - Hal Robson-Kanu
Manager reaction
Wales manager Chris Coleman: "I said before we kicked the ball today, we are not here to enjoy it, we are here to compete.
"We defended like soldiers. All I can do is reiterate to the players never to forget what it took to get here. I know my team are good enough to perform against anybody."
On Ramsey and Davies missing the semi-final, he added: "I'm gutted for Aaron. He's been one of the best players of the tournament."
Belgium boss Marc Wilmots on his future: "I said I'd make my decision after the European Championship. I won't make one straight after the game. There's a lot of adrenaline going. We'll have to see."
Stats you need to know
- Wales have become the first team to reach the semi-final on their European Championship debut since Sweden in 1992.
- The Dragons have scored 10 goals at Euro 2016, only once has a British team scored more at a major tournament (England, 11 in World Cup 1966).
- Sam Vokes scored his first goal in 12 games for Wales, since netting against Iceland in March 2014.
- Both Eden Hazard and Aaron Ramsey have four assists at Euro 2016, the joint most by a player in a single tournament since 1980.
Line-ups
Wales
Formation 3-5-1-1
- 1Hennessey
- 5ChesterBooked at 16mins
- 6Williams
- 4DaviesBooked at 5mins
- 2GunterBooked at 24mins
- 7Allen
- 16LedleySubstituted forKingat 78'minutes
- 10RamseyBooked at 75minsSubstituted forCollinsat 90'minutes
- 3Taylor
- 11Bale
- 9Robson-KanuSubstituted forVokesat 80'minutes
Substitutes
- 8King
- 12Fon Williams
- 13Williams
- 14Edwards
- 15Richards
- 17Cotterill
- 18Vokes
- 19Collins
- 20Williams
- 21Ward
- 22Vaughan
- 23Church
Belgium
Formation 4-2-3-1
- 1Courtois
- 16Meunier
- 2AlderweireldBooked at 85mins
- 15Denayer
- 21J LukakuSubstituted forMertensat 75'minutes
- 4Nainggolan
- 6Witsel
- 11CarrascoSubstituted forFellainiat 45'minutesBooked at 59mins
- 7De Bruyne
- 10E Hazard
- 9LukakuSubstituted forBatshuayiat 83'minutes
Substitutes
- 8Fellaini
- 12Mignolet
- 13Gillet
- 14Mertens
- 17Origi
- 18Kabasele
- 19Dembélé
- 20Benteke
- 22Batshuayi
- 23Ciman
- Referee:
- Damir Skomina
- Attendance:
- 45,936
Match Stats
- Possession
- Home46%
- Away54%
- Shots
- Home15
- Away14
- Shots on Target
- Home7
- Away5
- Corners
- Home7
- Away8
- Fouls
- Home12
- Away8
Live Text
Post update
Full Time
Second Half ends, Wales 3, Belgium 1.
Post update
Thomas Meunier (Belgium) wins a free kick on the right wing.
Post update
Foul by Neil Taylor (Wales).
Post update
Attempt missed. Eden Hazard (Belgium) left footed shot from outside the box is high and wide to the left. Assisted by Thomas Meunier.
Post update
Eden Hazard (Belgium) wins a free kick in the defensive half.
Post update
Foul by Joe Allen (Wales).
Substitution
Substitution, Wales. James Collins replaces Aaron Ramsey.
Post update
Hand ball by Aaron Ramsey (Wales).
Post update
Corner, Belgium. Conceded by Neil Taylor.
Post update
Attempt blocked. Kevin De Bruyne (Belgium) right footed shot from outside the box is blocked. Assisted by Dries Mertens.
Post update
Corner, Belgium. Conceded by Sam Vokes.
Post update
Corner, Belgium. Conceded by James Chester.
Goal!
Goal! Wales 3, Belgium 1. Sam Vokes (Wales) header from the centre of the box to the high centre of the goal. Assisted by Chris Gunter with a cross.
Booking
Toby Alderweireld (Belgium) is shown the yellow card for a bad foul.
Post update
Foul by Toby Alderweireld (Belgium).
Post update
Aaron Ramsey (Wales) wins a free kick in the defensive half.
Post update
Corner, Belgium. Conceded by Ben Davies.
Substitution
Substitution, Belgium. Michy Batshuayi replaces Romelu Lukaku.
Substitution
Substitution, Wales. Sam Vokes replaces Hal Robson-Kanu.