Bayern Munich, Club Brugge and Napoli join Manchester City and Real Madrid in the last-16 of the UEFA Champions League on a night of high drama that saw Mohamed Salah register the fastest-ever hat-trick in the competition.
A round-up of Wednesday's action in the UEFA Champions League.
Liverpool thrash Rangers after Salah hat-trick, near last 16
Substitute Mohamed Salah scored the fastest hat-trick in Champions League history as Liverpool came from behind to thrash Rangers 7-1 on Wednesday and put themselves on the verge of qualification for the competition's knock-out stages.
Salah came off the bench in the second half with Liverpool leading 3-1 and fired a treble timed at six minutes and 12 seconds between the first and third goals to turn a hard-fought win into a rout.
Roberto Firmino had dragged Liverpool back into the contest with a double strike and Darwin Nunez was also on the scoresheet before Harvey Elliott rounded off the scoring following Salah's goals.
It appeared a much-changed Liverpool were in for further frustration in a disappointing season so far as they fell behind for the eighth time in all competitions after Scott Arfield slotted home 17 minutes in to lift the roof off Ibrox.
That lead lasted less than eight minutes, however, as Firmino continued his prolific season with a near-post header to level things up from a corner.
Liverpool were much the better team right from the off in the second half and deservedly edged back in front 10 minutes after the interval, Firmino converting Joe Gomez's pinpoint low cross to take his goal tally to eight in all competitions.
With Rangers chasing the game, a fine finish from close-season signing Nunez put the game beyond the hosts before Salah took centre stage.
Elliott added to the home side's embarrassment with a late seventh, putting the seal on a victory that means Liverpool are second in Group A, and need just one point from their final two matches to be sure of a spot in the knockout stages, while Rangers are bottom, without a point.
Coming into the match, of the 45 teams to have played at least 50 games in the Champions League, only Anderlecht had a lower win rate than Rangers' 12 victories in 65 games.
However, you would not have thought it at Ibrox, given how Rangers started. Former Liverpool forward Ryan Kent fired just over before Arfield found the bottom corner for Rangers' first Champions League goal of the season, and first in 383 minutes in the competition.
The defending from the home side left much to be desired as Liverpool levelled through Firmino, but that was as good as it got for the visitors in the opening period, with Rangers missing several chances to retake the lead.
The second half was a different story altogether, and Rangers completely crumbled as Liverpool improved.
Nunez's goal was as much to do with the hosts' poor defending, while Salah was presented with gift after gift having come off the bench for only the final 22 minutes.
Salah's incredible treble took him to 38 Champions League goals for Liverpool, now the most by any player for an English club in the competition, surpassing Didier Drogba for Chelsea and Sergio Aguero for Manchester City, who both have 36.
The stadium was empty as Elliott stroked home to complete a flattering scoreline for Liverpool, given they had struggled for much of the opening period.
Bayern Munich too good for Plzen
Bayern Munich cruised past Viktoria Plzen 4-2, putting them through to the knock-out round of the Champions League after punishing the Czech champions during a ruthless first-half display that produced four goals.
The victory combined with Barcelona's 3-3 draw with Inter Milan put Bayern through to the knock-out stage while the Czechs, who are bottom of Group C, will exit at the group stage.
The Germans, who have now gone a record-extending 32 group matches in the competition without defeat, struck first after 10 minutes when Sadio Mane played a one-two with Leon Goretzka before putting the ball in the net.
An unmarked Thomas Mueller -- who came off midway through the first half with a tight back as a precaution -- doubled the visitors' lead minutes later when he tapped home a cross from Kingsley Coman with only the Plzen keeper near him.
Goretzka, named Player of the Match, nabbed a brace to round off the scoring for Bayern as the Germans kept a toothless Plzen side in check during a clinical opening half and controlled 65 percent of possession throughout the match.
Nagelsmann made a number of changes in the second half and the Germans could not maintain the intensity as they allowed Adam Vlkanova and Jan Kliment to pull goals back for the home side.
Bayern have won all four of their group matches to sit in top spot on 12 points followed by Inter Milan on seven and Barcelona with four.
Plzen remain without a point in the competition.
Lewandowski rescues Barca but early exit looms
Robert Lewandowski scored two late goals to earn Barcelona a point in a breathless 3-3 draw with Inter Milan which kept alive their faint hopes of reaching the Champions League last 16.
Barcelona are still facing elimination at the group stage of the competition for the second consecutive season but Lewandowski's stoppage-time equaliser gave them a slim chance of progressing with two games left.
Inter need a home win over Viktoria Plzen next week to join Bayern Munich in the last 16.
Until last year, Barca had advanced to at least the round of 16 in the Champions League in every season since 2001, but are now facing the prospect of slipping into the Europa League for the second season in a row.
Roared on by their fans in a sold-out Camp Nou, Barcelona started strongly, with Raphinha the focal point of their attack and Inter goalkeeper Andre Onana made three fine stops from strikes by the Brazilian.
But just like last week in Milan, Inter were strong on the counter-attack in the first half and went close to scoring on three occasions.
Edin Dzeko thundered a close-range strike off the post in the 17th minute, Henrikh Mkhitaryan had a long-range shot denied by Marc-Andre ter Stegen, who also denied Denzel Dumfries in a one-on-one from a counter-attack.
In a move started by Raphinha on the right touchline, the Spanish side took the lead through a close-range strike by Ousmane Dembele from a Sergi Roberto cross five minutes from halftime.
But it all changed after the break when Nicolo Barella levelled in the 50th minute with a volley from Alessandro Bastoni's cross after ghosting in behind the Barcelona defence.
A Lautaro Martinez strike from the edge of the area that bounced off both posts before going in put Inter ahead 13 minutes later and they could have extended their lead at least twice but were denied by Ter Stegen.
With Barcelona in all-out attack mode, Lewandowski equalised from a rebound in the 82nd minute.
Inter regained the lead one minute from time when Robin Gosens finished off a counter-attack but Lewandowski's bullet header three minutes later rescued Barca who are third in the Group C standings on four points, three behind Inter and eight adrift of Bayern Munich.
Napoli sink Ajax to maintain 100 percent record
Napoli kept up their 100 percent record in the Champions League group phase and secured progress to the knock-out stages by beating Ajax Amsterdam 4-2 at the Diego Armando Maradona Stadium.
Early goals from Hirving Lozano and Giacomo Raspadori put the Serie A leaders comfortably ahead by the 16-minute mark and Khvicha Kvaratskhelia added a second-half penalty after Davy Klaassen had pulled one back for Ajax.
The Dutch club made a desperate bid for a share of the spoils as Steven Bergwijn converted an 83rd-minute penalty to bring the score back to 3-2 but a bad defensive error allowed Victor Osimhen to score Napoli’s fourth in the final minute.
Napoli’s 12-point haul means they are guaranteed a top-two finish in Group A, having scored 17 goals in four matches with a brand of attacking football that has made them one of Europe's form sides.
They join holders Real Madrid, Club Brugge and Manchester City as teams through to the round of 16 in February.
Any hopes Ajax had of revenging last week’s 6-1 humiliation at the Amsterdam Arena -- their heaviest defeat in European club competition -- were dented in the opening salvoes of the match.
Lozano played a quick give-and-go with Piotr Zielinski, heading the lofted return ball into the net as Ajax’s defence were caught static in the fourth minute.
While the Dutch club had several half chances for a quick equaliser, Napoli went down the other end with a flowing run on the left from Kvaratskhelia, who played the ball inside for Raspadori to rifle a powerful shot into the net.
Ajax looked the brighter of the two sides immediately after the break and they got an instant reward when Klaassen headed home from Calvin Bassey’s inch-perfect cross in the 49th minute.
Napoli’s two-goal advantage was restored in the 62nd minute after a VAR review found Jurrien Timber had handled in his area and Kvaratskhelia converted the resultant spot-kick.
Ajax were awarded a penalty of their own seven minutes from time which offered them hope of snatching a point when substitute Brian Brobbey was brought down and Bergwijn scored from the spot.
But those hopes were extinguished in the last minute when Daley Blind was dispossessed by Osimhen as the Nigerian striker marked his return from injury with a goal.
Club Brugge in knock-outs after draw with Atletico
Belgian side Club Brugge reached the Champions League knockouts after a 0-0 draw against Atletico Madrid guaranteed them a top-two spot in Group B.
After becoming the first Belgian side to win their opening three group games last week, Brugge reached the round of 16 in Europe's elite club competition for the first time since 1990-91, when it was known as the European Cup.
Atletico squandered a string of chances as they extended their winless streak in the competition to three games.
The Spanish side are second on four points, six behind the Belgians and one ahead Porto and Bayer Leverkusen, who have a game in hand and will play each other later on Wednesday.
Atletico now will face two must-win games against Leverkusen and Porto to stay alive in the competition.
Brugge were lively in the first half but ran out of steam after the break and then held on in the closing stages as Atletico tried in vain to open up the visitors, who had Kamal Sowah sent-off late on.
Former Liverpool goalkeeper Simon Mignolet was named player of the match after he made a series of stops in the second half, including two close-range saves in added time to deny Alvaro Morata.
Atletico manager Diego Simeone left star Portuguese forward Joao Felix on the bench for the entire 90 minutes.
The Argentinian manager instead opted to start Antoine Griezmann and Angel Correa up-front, bringing Morata and Matheus Cunha on from the bench later on.
But Brugge attacked Simeone’s defensive block and constantly broke their lines with dangerous through balls and quick counters in the first half.
Sowah, Andreas Skov Olsen and Ferran Jutgla all missed chances to score early on.
Atletico were slowly building up momentum, with Griezmann missing several chances.
The hosts almost scored in the 20th minute after a one-touch passing combination between Griezmann and Correa, with the Argentinian's low strike going narrowly wide.
The Frenchman was denied by Mignolet in the 26th minute, having a low shot blocked by the goalkeeper's right foot.
Saul Niguez had a goal ruled out for offside in the build up a few minutes later.
With Atletico in control, Brugge were awarded a penalty but the decision was overturned by the VAR as Tajon Buchanan stepped on Nahuel Molina’s ankle before the Argentinian tripped him inside the area.
Spurs edge toward last 16 with win over 10-man Frankfurt
Son Heung-min struck twice to help Tottenham Hotspur edge towards qualifying for the Champions League knock-out stages after they came from behind to beat 10-man Eintracht Frankfurt 3-2.
In a busy first half, two well-taken goals from Son either side of a Harry Kane penalty calmed the home fans after Europa League champions Frankfurt had taken an early lead through Daichi Kamada.
Any hopes of a Frankfurt comeback were dashed on the hour mark when they were reduced to 10 men after defender Tuta was sent off for his second booking after twice bringing down Son on the left wing.
The game finished more nervy than it should have, though, as the German side pulled a goal back with three minutes remaining when Faride Alidou headed in from an inswinging corner. But even with Kane missing another penalty, Spurs held on.
The win put Antonio Conte's side top of Group D on seven points. However, it is still all to play for as Olympique de Marseille and Sporting are tied on six points, and Frankfurt remain in the hunt on four with two games left.
Spurs were held 0-0 at Frankfurt last week and the visitors started fast, their pressure paying off in the 14th minute when Tottenham defender Eric Dier lost control of the ball and Sebastian Rode squared it for Kamada to stroke in from close range.
Their joy was cut short six minutes later when Kane turned expertly during a Spurs counter-attack and played the ball through to Son who sprinted on goal, took two touches and side-footed past goalkeeper Kevin Trapp.
The equaliser also sparked Spurs into life, particularly Kane who burst forward in the 27th minute, riding three challenges before being barged over by midfielder Kristijan Jakic.
Initially, the referee waved away appeals for a penalty but after being referred to view the incident on the pitchside monitor, pointed to the spot from which Kane coolly converted for his 257th goal in all competitions for the club.
Spurs made it 3-1 in the 36th minute when midfielder Pierre-Emile Hojbjerg ran to the byline and floated in a cross for Son who struck the ball beautifully with his left foot into the roof of the net.
The South Korean could have had a hat-trick before halftime, but his angled effort was stopped by the outstretched boot of Trapp.
Son still tormented Frankfurt's defence after the break, resulting in Tuta being shown a red card for twice bringing down the forward in the space of three minutes.
Just when the game was petering out, Frankfurt scored a second from a corner when Alidou rose highest to head in.
Kane had the chance to seal the win from the penalty spot after substitute Bryan Gil had been tripped in the box in the first minute of stoppage time.
He blasted his effort over the bar and Frankfurt pressed forward but Spurs held out for their first win in the competition since beating Marseille last month.
Spurs can seal their place in the last 16 for the first time in three years when they host Sporting on Oct. 26 when Frankfurt entertain Marseille.
Galeno sparkles in Porto's win at Leverkusen
Galeno scored one goal and earned two penalties for Mehdi Taremi to convert as Porto's cruised to a 3-0 victory at Bayer Leverkusen, taking over second place in the Champions League Group B with two matches remaining.
With coach Xabi Alonso making his Champions League debut on the Leverkusen bench after replacing Gerardo Seoane last week, the German side quickly found themselves a goal behind after six minutes.
Brazilian forward Galeno, who scored as a substitute in last week's win over Leverkusen in Spain, was in the starting lineup on Wednesday and the 24-year-old paid back the trust when he controlled a deep cross with a sublime first touch, powered into the box and threaded the ball in from a tight angle.
Porto keeper Diogo Costa, who had saved a penalty against the Germans last week, did it again in the 16th, palming a Kerem Demirbay spot-kick wide.
The keeper then pulled off several outstanding saves, including a stop of a point-blank Amine Adli effort early in the second half before Galeno earned a spot-kick for the visitors in the 53rd.
Taremi sent keeper Lukas Hradecky the wrong way to give his team a two-goal cushion. Some 11 minutes later he scored again, this time off the post, from another penalty after man-of-the-match Galeno was brought down in the box by Odilon Kossounou.
Porto's win lifted them into second place on six points, with Club Brugge, top on 10, already through after their goalless draw against Atletico Madrid. The top two teams automatically advance to the knockout stage.
Leverkusen are in fourth place on three points and with only an outside chance of qualifying. Atletico are third on four.
Marseille beat nine-man Sporting Lisbon, boost qualification chances
Olympique de Marseille boosted their chances of reaching the Champions League last 16 with a 2-0 victory at nine-man Sporting Lisbon.
Matteo Guendouzi and Alexis Sanchez scored before the break as Sporting, who were down to 10 men in the reverse fixture at the Velodrome last week when they lost 4-1, lost Ricardo Esgaio and Pedro Goncalves to red cards either side of the interval.
The result put OM in second place in Group D on six points, one behind Tottenham Hotspur who beat Eintracht Frankfurt 3-2.
Sporting are third on six points, two ahead of Eintracht.
Marseille took the lead in the 20th minute when Guendouzi scored a penalty after Esgaio, who picked up a second yellow card in the process, collided with Amine Harit.
Ten minutes later, Harit's pin-point cross was met by Sanchez, who doubled the tally from point-blank range.
The contest was effectively over when Goncalves collected two yellow cards within two minutes and was sent off in the 60th minute.
'Now we are in the champion mindset'
Olympian Sushil Kumar charged for murder
PHOTOS: Man City, Real Madrid held but make last 16
Kamalpreet Kaur gets 3 year doping ban
Australian Open boss stays out of Djokovic visa saga