Barcelona will play Europa League football next year after a comprehensive 3-0 defeat at Bayern Munich eliminated them from the Champions League thanks to Benfica beating Dynamo Kiev.
Bayern had already won Group E going into the final matchday but their victory carries them into Monday's last 16 draw with a perfect record - the third this season alongside Liverpool and Ajax.
Thomas Mueller opened the scoring with a 34th minute looping header over Marc-Andre ter Stegen which crossed the line before being hooked clear.
It was the 50th Champions League goal for the record German scorer in the competition and his eighth in seven games against Barca.
"It flows somehow against Barcelona," Mueller told DAZN. "Fifty Champions League goals, that's a bunch already. I still have something ahead of me, that shouldn't be the end."
Ter Stegen was then badly at fault when Leroy Sane doubled the lead before the break with a long shot which had power but still should have been saved by the keeper.
Jamal Musiala slid in a third to complete the misery for the visitors and ensure a repeat of their 3-0 loss to Bayern from their previous meeting at home.
"It was very important we kept a clean sheet today," said Bayern coach Julian Nagelsmann. "In the end it's a very, very good group phase."
Barcelona had started second in the group but with Benfica hosting already-eliminated Kiev, they knew a win was likely needed to clinch second. Xavi's side never looked like finding it.
"It's a damning result and they had chances to make it worse," Barcelona defender Ronald Araujo told Movistar.
"It's true that, right now, we're not among the best teams in Europe. If we were, we'd have qualified."
"It's a tough, very sad situation," Xavi said in a press conference after the match. "It's hard to digest but you have to face it... start from zero," the 41-year-old said.
"This is the reality that now faces us... We're in the Europa League... A new era starts today."
Benfica did survive an early scare but first half goals from former Kiev player Roman Yaremchuk and Gilberto gave them the required victory and saw Barcelona out at the group stage for the first time since 2000.
Group D started with all four teams able to qualify but those who began in the qualifying spots finished there. Lille won 3-1 at Wolfsburg, who ended last, to top the group thanks to Burak Yilmaz, Jonathan David and Angel Gomes before Renato Steffen's consolation.
Red Bull Salzburg clinched the runners-up spot on Noah Okafor's goal against Sevilla, who had Joan Jordan sent off. It is the first time Salzburg have reached the knock-out stage.
Sevilla enter the Europa League they have won a record six times and will relish targeting a final played in their home stadium in May.
The do-or-die Group F clash between Atalanta and Villarreal was postponed to Thursday due to snow. Atalanta must win otherwise Villarreal will finish second behind Manchester United, who changed all of their starting eleven in a 1-1 draw against bottom side Young Boys.
Juventus ended as winners of Group H after Magomed Ozdoyev smashed home a brilliant last-gasp equalizer to hold Chelsea to a 3-3 draw at Zenit St Petersburg.
Timo Werner's double either side of a Romelu Lukaku tap-in appeared to have given title-holders Chelsea the victory they needed to stay ahead of Juventus but Ozdoyev's unstoppable volley from 20 metres, four minutes into injury-time, denied them.
Moise Kean gave Juventus a 1-0 win over eliminated Swedes Malmo in Turin but until the last moment it looked like it would not be enough.
Werner struck from close-range at a corner in just 84 seconds for Chelsea's fastest-ever Champions League goal before Claudinho and Sardar Azmoun turned the game before half-time for Zenit, who will enter the Europa League.
The influential Werner set up Lukaku to equalize just after the hour and six minutes from time showed quick feet in the box before firing home.