Wales reached their second straight European Championship finals after a goal in each half by midfielder Aaron Ramsey gave them a 2-0 home win over Hungary in their decisive Group E qualifier on Tuesday.
The Welsh, who reached the Euro 2016 semi-finals, finished runners-up on 14 points from eight games, three behind Croatia who sealed their berth on Saturday with a 3-1 win over Slovakia.
Having previously gone 58 years without reaching a major tournament after the 1958 World Cup, there were joyous scenes at the Cardiff City Stadium as Wales produced a dominant display to wrap up qualification.
The outcome was a triumph for manager Ryan Giggs, who never kicked a ball at a World Cup or European Championship as a player but can now revel in guiding his country to Euro 2020 after taking over from Chris Coleman in January 2018.
Former Manchester United winger Giggs, who won 13 Premier League titles and two Champions League trophies with the club, was delighted.
"It doesn't get any better, it's amazing," Giggs was quoted as saying by the BBC.
"From where we were in the summer, all credit to the lads for coming back. One of the best days of my life."
Both sides needed victory to progress and Wales drew first blood when Ramsey rose to head home from six metres in the 15th minute after a perfect Gareth Bale cross from the right.
With Hungary pressing for an equaliser, goalkeeper Wayne Hennessey made a crucial double save in the 34th minute when he parried a Dominik Szoboszlai shot from eight metres and then smothered Roland Sallai’s follow up.
Ramsey, who tore Hungary's midfield apart with crisp passing, struck again in the 47th with a close-range drive into the top corner after Kieffer Moore scrambled a Ben Davies free kick into his path.
Hungary were fortunate not to concede more goals as Daniel James curled a shot from the edge of the penalty area inches wide before Hungary keeper Peter Gulacsi denied Ramsey a hat-trick with a reflex save.
Ramsey, who had struggled at club and international level since his close-season move from Arsenal to Juventus, hoped for a campaign similar to the one in 2016 when the Welsh emerged as the tournament's surprise package.
"We had the best time of our lives in France (at Euro 2016) so we wanted to make sure we got there again," he said.
"I missed a lot of this campaign but I've chipped in now and it's worthwhile."
Bale added: "It's about time he contributed! He's a world class player, it's great to have him back and his goals helped us through.
"We have been getting better throughout the campaign and this is where we want to be. We will go there and have some fun again."
The Hungarians will have another chance to reach next year's 24-nation tournament via the playoffs and so will Slovakia, who beat Azerbaijan 2-0 at home in the group's other fixture.
The Slovakians needed Wales and Hungary to draw in order to progress with a win against the Azeris but goals from Robert Bozenik and Marek Hamsik turned out to be a mere consolation in light of a magnificent Welsh performance.
Germany crush Northern Ireland with Gnabry treble to top group
Serge Gnabry scored a hat-trick as already-qualified Germany came from a goal down to crush Northern Ireland 6-1 in their final Euro 2020 qualifier to finish top of Group C on Tuesday.
It was a successful end to a difficult year for Germany, seeking to overhaul the team after last year's shock World Cup first-round exit and Nations League relegation.
They qualified, having won seven of their eight qualifiers and losing once to the Netherlands.
With qualification already sealed after Saturday's 4-0 victory over Belarus, Germany showed no nerves and quickly cancelled out Michael Smith's shock eighth-minute opener for the visitors with Gnabry's fine turn and shot in the 19th.
Leon Goretzka's 43rd minute goal put Germany ahead before Gnabry then drilled in their third straight after the restart.
The 24-year-old winger completed his hat-trick on the hour to take his tally to 13 goals in 13 internationals. Goretzka then fired in from 20 metres to crown his own fine performance.
Germany, who also hit the woodwork, looked sharp despite a number of absentees, with the players combining well and offering fans in Frankfurt a good display.
"It works well. We have a young team, understand each other well and we have good performances," Gnabry told reporters.
"We had a good finish to the year and are showing good football.
"I am happy with my goals. I play more up front with the national team and I enjoy it. As for Euro 2020 we are going with confidence into the tournament."
Julian Brandt completed the rout in stoppage time as the Germans finished on 21 points, two ahead of the second-placed Dutch, while Northern Ireland ended the qualifying campaign in third place on 13 points and will go into the playoffs.
Perfect Belgium end qualification campaign with Cyprus thrashing
Christian Benteke and Kevin De Bruyne scored two goals each as Belgium thrashed Cyprus 6-1 in their Euro 2020 Group I qualifier at the King Baudouin Stadium on Tuesday.
Belgium finish top of their pool with a perfect 10 wins from 10 games, scoring 40 goals in the process, as Yannick Carrasco and an own goal from Kypros Christoforou completed the rout of Cyprus.
The visitors had silenced their hosts with an early strike as Nicholas Ioannou drilled the ball into the corner of the net, but the Belgium supporters were soon back on their feet after an exhibition from their side after that.
Carrasco’s excellent pass provided the opportunity for Benteke to level the score, before Cyprus goalkeeper Michael Neofytos somehow allowed De Bruyne’s weak shot to squirm past him.
Carrasco was the provider again as he teed-up De Bruyne to complete a brace, before the former grabbed the goal his performance deserved a minute before the break after burying his shot from Eden Hazard's pass.
There was little let-up in the second period as Belgium continued to dominate, with Christoforou putting the ball into his own net and Benteke adding the sixth.
Wijnaldum hat-trick drives Netherlands to easy win over Estonia
Georginio Wijnaldum struck a hat-trick as the Netherlands, who had already booked a spot at Euro 2020, eased to a 5-0 victory over Estonia in their final Group C qualifying clash at the Johan Cruyff Arena on Tuesday.
The home side were in complete control of the contest from early on, with defender Nathan Ake and 18-year-old debutant Myron Boadu also among the goals, as they finished second in the standings with 19 points from eight games, two behind group winners Germany.
Netherlands coach Ronald Koeman said before the game that he would experiment with team selection and stuck to his word, with livewire Quincy Promes converted to right back, and AZ Alkmaar forward Calvin Stengs, 20, handed a debut from the start.
It took the home side just six minutes to hit the front, as Promes was afforded far too much space on the right and his delivery was headed back across goal and into the net by Wijnaldum, who netted eight times in his seven matches in the qualifiers.
Netherlands dominated possession and launched wave after wave of attacks. They were rewarded for their endeavour with a second goal as Ake headed in a cross from Memphis Depay.
Some of the fizz went out of the Dutch play after that as Estonia created a few half-chances of their own and the score remained 2-0 at halftime.
There was little to enthuse over in the opening 20 minutes of the second period but the Netherlands got their third when Stengs robbed the ball off Estonia defender Karol Mets and set up Wijnaldum for his second.
Captain for the night, Wijnaldum then collected a pass from Stengs to complete his hat-trick, before AZ forward Boadu came off the bench to net the fifth.