Portugal finished their Euro 2024 qualifying campaign with a 100-percent record by beating Iceland 2-0 on Sunday, after Serbia booked their place at next year's finals in Germany and Romelu Lukaku scored four goals for Belgium.
Bruno Fernandes and Ricardo Horta netted the goals for Roberto Martinez's Portugal, with Cristiano Ronaldo not on the scoresheet, to end with 10 wins from 10 matches in Group J.
The 2016 winners will be among the favourites for the title in what could be the 38-year-old Ronaldo's last major tournament.
Slovakia finished eight points behind Portugal in the second qualifying place after a 2-1 win over Bosnia and Herzegovina in Zenica.
Luxembourg, who will head into the play-offs, were a further five points adrift after closing out an impressive group-stage showing with a 1-0 success in Leichtenstein.
Earlier Sunday, Serbia qualified for the first time as an independent nation, after four previous failures to get to the main event, with a 2-2 draw against Bulgaria.
The Serbs finish second in Group G behind Hungary who snuffed out any hopes Montenegro had of progressing by beating them 3-1 in Budapest.
"The players showed a mentality of not giving up, believing in themselves," said Serbia coach Dragan Stojkovic.
"It's a big day for Serbian football. Serbia is finally at the European Championship.
"I congratulate my boys, who fought until the end and believed. We are happy and satisfied."
Centre-back Milos Veljkovic put Serbia ahead in the 17th minute before substitute Georgi Rusev levelled for Bulgaria in the 59th.
Ten minutes later Kiril Despodov put the visitors ahead but Srdjan Babic equalised eight minutes from time to ensure Serbia would become the 17th team to qualify for Euro 2024.
Montenegro needed Serbia to lose to have any hope of taking their place in Germany but also needed to win against the Hungarians who have eased impressively through qualifying.
Slobodan Rubezic put Montenegro ahead on 36 minutes but Hungary hit back i the second half with two goals in three minutes from Liverpool midfielder Dominik Szoboszlai before Zsolt Nagy rounded off the win in added time.
- Lukaku on fire -
Lukaku scored four goals as Belgium finished with a 5-0 thrashing of Azerbaijan.
Roma striker Lukaku extended his record tally of international goals for Belgium to 83, with all of his goals coming in a remarkable first half in Brussels.
He opened the scoring in the 17th minute by converting a Jeremy Doku cross, before Eddy Israfilov was shown a second yellow card seven minutes later to leave the Azeris with a mountain to climb.
Lukaku fired home shortly afterwards and then headed in Wout Faes' delivery to complete a hat-trick.
He rounded off his scoring spree of four goals in 20 minutes before being replaced by Lois Openda at half-time.
The Belgians took their foot off the gas in the second period but Leandro Trossard added a fifth in the 90th minute from another Doku assist.
Belgium finished top of Group F, one point clear of Austria, with both having wrapped up qualification with matches to spare.
Sweden ended a miserable campaign, in which they failed to qualify for a European Championship for the first time since 1996, with a 2-0 win over Estonia in the other game in the group.
- Gavi injured -
Barcelona star Gavi limped off with a nasty knee injury in Spain's 3-1 victory against Georgia which secured top spot in Group A above Scotland.
The 19-year-old was tackled from behind in the first half, buckling the knee that had his weight on it, before leaving the pitch in tears.
"This is a very tough and very difficult moment," said Spain coach Luis de la Fuente.
"For the (Spanish football) federation, for me, for his friends. But above all for him and for his club.
"We're destroyed. Football is a risk sport and this is the ugly part of our sport."
Goals from Robin Le Normand and Ferran Torres and a Luka Lochoshvili own goal helped Spain past a spirited Georgia, who drew level at 1-1 early on through Napoli star Khvicha Kvaratskhelia.
Already-qualified Scotland needed to beat Norway and hope for Spain to slip up to snatch first place, but were held to a dramatic 3-3 draw at Hampden Park.
jc/iwd