The top-ranked team still needs a trophy to back up its status and eased into a quick 2-0 lead against Switzerland.
Needing to score at least four to advance, the Swiss got three by halftime and added two more later to shock the Belgians.
“Too many individual errors. I have no words,” Belgium defender Toby Alderweireld said.
The group was settled on a head-to-head tiebreaker with both teams on nine points. Switzerland’s three-goal margin outweighed Belgium’s 2-1 win in Brussels last month.
Sunday’s dramatic games between top 10-ranked teams added to the strong impression made by the first Nations League.
UEFA created the competition — amid some skepticism given the busy soccer calendar — to replace mostly meaningless and unpopular international friendly games.
It gives unheralded national teams in the lower tiers a route to qualify for the European Championship through a subsequent playoff round.
At the top, the best national teams get guaranteed games against each other and fight for a trophy in the odd-numbered years between World Cups and Euros.
Portugal, England and Switzerland will be joined in the Final Four by either France or the Netherlands. The Dutch will advance if they get at least a draw on Monday in Germany, which has already been relegated to the second tier.
The Nations League Final Four draw takes place Dec. 3 in Dublin.
Beaten by France in the World Cup semifinals, Belgium won the third-place game against England in Russia and made a smooth start to the Nations League.
Many thought an overdue trophy could come next year for the so-called golden generation led by Eden Hazard, though missing the injured Kevin De Bruyne on Sunday.
Thorgan Hazard scored after 66 seconds and 17 minutes in Lucerne but, by halftime, Ricardo Rodriguez scored a penalty and forward Haris Seferovic struck twice to bring the Swiss within one goal of advancing. They got two more, both from headers gifted by poor Belgian marking.
Defender Nico Elvedi scored to make up for a bad mistake gifting Hazard his early opener, and Seferovic clinched his first international hat trick in the 84th, winning over home fans who are often criticizing him.
England started a tough three-team group with a home loss against Spain, and trailed again at Wembley Stadium on Sunday when Andrej Kramaric scored in the 57th. That result would have been enough for Croatia to advance, despite its opening 6-0 rout by Spain in September.
Things can change fast in the rapid-fire Nations League groups, and England scored twice late on to win the group and condemn Croatia to relegation into the second tier.
“I’ve never seen (Wembley) like this in an England shirt,” said Kane, captain of an England team riding a wave of acclaim and affection at home under coach Gareth Southgate.
In League D, Belarus sealed winning Group 2 with a sixth straight shutout in a 2-0 win at San Marino, making Luxembourg’s 1-1 draw at Moldova immaterial.
Belarus joins Georgia in being promoted to League C in two years’ time, and taking their places in the League D playoffs in March 2020.
Those playoffs featuring the four fourth-tier group winners will send one of Europe’s lowest-ranked teams to the 2020 European Championship tournament.
The other two playoff entries are decided Monday and Tuesday, with Macedonia and Kosovo currently leading their groups.
In other games Sunday, Austria won 2-1 at Northern Ireland in a League B group already won by Bosnia-Herzegovina.
In a League C group, Finland had already won promotion and Estonia was already relegated before the final round of games Sunday ended with Hungary beating Finland 2-0, and Greece losing 1-0 at home to Estonia.
Associated Press writer Raf Casert in Brussels contributed to this report
More AP soccer: https://apnews.com/apf-Soccer and https://twitter.com/AP_Sports