Turkish Süper Lig champion Beşiktaş was knocked out of the UEFA Champions League Wednesday after suffering a humiliating 4-0 defeat against Sporting Lisbon.
Pedro Goncalves broke the deadlock for the Portuguese side from the penalty spot in the 31st minute at Estadio Jose Alvalade in Lisbon.
Goncalves doubled the lead after just seven minutes, followed by a third from Joao Paulo Dias in the 41st minute.
The fourth goal came from Pablo Sarabia.
Beşiktaş's Brazilian midfielder Josef de Souza was sent off in the 90th minute.
Elsewhere, Liverpool and Ajax kept up their perfect records in Europe this season to qualify for the last 16, while a Paris Saint-Germain side missing Lionel Messi was held by RB Leipzig.
Jurgen Klopp's Liverpool blew Atletico Madrid away in a whirlwind start at Anfield, with Diogo Jota and Sadio Mane scoring in the first 21 minutes to secure a 2-0 win against opponents who finished with 10 men.
Atletico's Brazilian defender Felipe was sent off for a foul on Mane before halftime, as the 2019 Champions League winner made it four wins out of four in Group B.
Liverpool is now guaranteed to top the group, sitting seven points clear of Porto with two games remaining, while Atletico is another point back in third.
"You earn a lot of money to win Champions League games. The first target was to get through this group but we did it with two games to go," Klopp told BT Sport.
"I didn't expect we would be through after four games but the boys did it and it's really well-deserved," he added.
Porto drew 1-1 away to AC Milan, as Chancel Mbemba's own goal at San Siro canceled out Luis Diaz's early opener for the Portuguese side.
It was a first point in the group for seven-time former European champion Milan, who maintains a slim chance of reaching the knockout phase in its first appearance in the competition since 2013-14.
Ajax continued its marvelous run in Europe this season by coming from behind to win 3-1 at 10-man Borussia Dortmund as Sebastien Haller scored his seventh goal in just four Champions League appearances.
A Dortmund side missing the injured Erling Haaland had Mats Hummels harshly sent off before the half-hour mark after he slid in on Ajax's Brazilian winger Antony.
However, English referee Michael Oliver then awarded Dortmund a penalty for a foul on Jude Bellingham following a VAR (video assistant referee) review and Marco Reus converted from 12 yards.
Yet Ajax equalized in the 72nd minute as Dusan Tadic nipped in at the back post to score.
Ivory Coast striker Haller then headed in Antony's cross, becoming the first player to score in each of his first four Champions League appearances since Haaland in 2019.
Davy Klaassen wrapped up the win from another Antony assist in stoppage time, meaning Erik ten Hag's Ajax have scored 14 goals in winning all four games so far in Group C.
"We want to annoy Europe's elite teams. We're not saying we are favorites, but nobody wants to get Ajax in the draw," ten Hag told broadcaster DAZN.
Ajax will go through with either Dortmund or Sporting Lisbon, the Portuguese side boosting their hopes by crushing Beşiktaş.
Messi missed PSG's trip to Germany due to injury, and without him, Mauricio Pochettino's side came from behind to lead before conceding a late penalty and settling for a 2-2 draw.
Christopher Nkunku headed Leipzig in front before Andre Silva had a 12th-minute penalty saved.
Kylian Mbappe set up Georginio Wijnaldum to equalize midway through the first half and the Dutchman headed in another before the break, the goal standing despite initially being flagged offside.
However, a Presnel Kimpembe foul was spotted after a VAR review in the last minute and Dominik Szoboszlai scored from the spot to make it 2-2.
"We are disappointed, but our objective remains to win the group and qualify," said Pochettino.
Leipzig is eliminated despite the draw, while Manchester City moves above PSG to the top of Group A thanks to its 4-1 home win against Club Brugge.
Phil Foden's opener was canceled out by a John Stones own-goal, but Riyad Mahrez, Raheem Sterling and Gabriel Jesus all scored in the second half for City.
Inter won 3-1 at Sheriff Tiraspol, with Marcelo Brozovic, Milan Skriniar and Alexis Sanchez all on target in the second half before Adama Traore pulled one back.