A youthful Liverpool side lost 2-1 at Union Saint-Gilloise in their final Europa League group game on Thursday, while Villarreal snatched a place in the last 16 from Rennes with a dramatic victory in France.
Elsewhere, Azeri club Qarabag reached the knock-out play-off round and Slavia Prague finished top of Group G ahead of last season’s runners-up Roma.
Liverpool manager Jurgen Klopp rang the changes with his team already secure as Group E winners and with an eye on the weekend’s Premier League game against rivals Manchester United, starting six players aged 20 or younger.
Saint-Gilloise, who needed a victory to keep alive their hopes of pipping Toulouse to second place, took the lead through Mohamed Amoura before Jarell Quansah hit back for Liverpool.
Cameron Puertas restored the hosts’ advantage two minutes before halftime with a low strike which beat Caoimhin Kelleher at his near post.
Klopp threw on Joe Gomez, Ryan Gravenberch and Darwin Nunez in the second half, but Saint-Gilloise held on for a famous win, although the Belgians dropped into the Europa Conference League play-off round after Toulouse beat LASK Linz 2-1 in the group’s other game to finish second.
Dani Parejo scored a late winner as Villarreal took top spot in Group F and direct qualification for the last 16 with a 3-2 victory at Rennes.
Lorenz Assignon hammered home in the 12th minute of injury time to seemingly send Rennes back to the group summit, but his goal was ruled out by VAR and scuffles broke out after the final whistle.
The Ligue 1 club only needed to avoid defeat to finish first, but instead will have to face a team dropping out of the Champions League in the play-off.
Qarabag finished second in Group H courtesy of a 2-1 success against Haecken.
They were a distant eight points adrift of group winners Bayer Leverkusen, though, as the Bundesliga leaders extended their unbeaten start to the season to 23 matches in all competitions by thrashing Molde 5-1.
Jose Mourinho’s Roma had to settle for a knock-out play-off berth despite beating Sheriff Tiraspol 3-0 as Slavia Prague thrashed Servette 4-0.