Europe's top club competition returned for the third of three straight Matchdays as BT Sport brought you yet more mouth-watering fixtures from the Champions League.

On Tuesday night, Liverpool sought to bounce back from a damaging defeat to Atalanta as Ajax visited Anfield, while Manchester City were bidding to make it five wins from five in Porto.

Elsewhere Real Madrid were out for revenge when they took on Shakhtar Donetsk, as were Atletico with the visit of Bayern Munich and Inter Milan were in last chance saloon against group leaders Monchengladbach.

Read on, or jump to the game of your choice below, for match reports and highlights from all of Tuesday's matches.

Join the home of live football today

TNT Sports is the only place to watch live Premier League, Champions League, Europa League and much more.

Shakhtar Donetsk 2-0 Real Madrid - Watch Replay

Shakhtar Donetsk recorded a famous victory in Kiev as the Ukrainians became the first team to do the Champions League double over Real Madrid since 2008.

Madrid, who were 3-0 down against Shakhtar in Matchday 1 before battling back to a 3-2 defeat, were sluggish throughout a drab first half in Ukraine.

But the game sparked into life 12 minutes into the second half when Dentinho seized on some poor defending by Raphael Varane to give Shakhtar the lead.

Zinedine Zidane responded with a triple substitution but five minutes later the game was over when Manor Solomon bore down on Real's goal and lashed past Thibaut Courtois.

Lokomotiv Moscow 1-3 RB Salzburg -Watch Replay

RB Salzburg kept their hopes of a Champions League last-16 spot alive with a comprehensive win in Russia thanks in no small part to Mergin Berisha's double.

The Austrians were ahead on 28 minutes when Berisha netted for the third consecutive Champions League game before the German finished off a Salzburg counter-attack to get his second of the night.

Lokomotiv responded with a triple half-time substitution and halved the deficit with an Anton Miranchuk penalty 11 minutes from time, awarded after a foul on Ze Luis. 

Cican Stankovic in the Salzburg goal did his best to prevent Lokomotiv from getting the ball out the net but when the game did get going it was the Austrian side who took advantage.

Teenager Karim Adeyemi race forward on the counter, took his time and buried the ball in the Russians' net to seal all three points for Salzburg.

Liverpool 1-0 Ajax - Watch Replay

Liverpool secured qualification as group winners thanks to Curtis Jones' goal 12 minutes into the second half at Anfield.

Jurgen Klopp's men, looking to bounce back from defeat against Atalanta, came closest in the first half when Jones struck the post. 

But despite some promising attacks Liverpool only made the breakthrough when Ajax goalkeeper Andre Onana misjudged a Neco Williams cross and Jones was on hand to turn it home.

Liverpool were later indebted to a smart save from young Caoimhin Kelleher - who came in for the injured Alisson - to preserve the three points.

Porto 0-0 Man City - Watch replay

A goalless draw in Portugal was enough to seal Manchester City's safe passage to the last 16 of the Champions League.

The result means City have now qualified for the knockout stages of the Champions League as group winners for the fifth time in the last six seasons.

Despite the achievement Pep Guardiola will once again be concerned by his side's struggles to find the net - even if Gabriel Jesus managed it, his effort was ruled out by VAR for offside.

It's the first time Guardiola-managed team has been involved in a goalless draw for over five years when the Catalan was in charge of Bayern Munich.

Atletico Madrid 1-1 Bayern Munich - Watch Replay

Atletico Madrid fell short of inflicting revenge on Bayern Munich but still earned a valuable point against the Champions League holders.

After a 4-0 thrashing in Munich on Matchday 1, Atletico were looking to put things right against a Bayern side who rested the likes of Robert Lewandowski having already sealed top spot in Group A. 

The Spaniards were ahead in the 26th minute when Joao Felix turned in a cross from Marcos Llorente at the Wanda Metropolitano.

But Hansi Flicke made three substitutions on the hour mark and one of those replacements fired Bayern back on level terms.

Thomas Muller fired in the equaliser from the penalty spot with four minutes from time to score his 47th Champions League goal.

Borussia Monchengladbach 2-3 Inter Milan - Watch Replay

Inter Milan breathed new life into their Champions League campaign as they defeated Group B leaders 3-2 on their own patch.

After Real Madrid's defeat in Kiev, Inter were handed a lifeline and seized the opportunity when defender Matteo Darmian gave them the lead on 17 minutes.

Alassane Plea drew the Germans level just before the hour mark but a sensational double from Romelu Lukaku gave Inter a commanding lead.

Plea halved the deficit 14 minutes from time and had the ball in the net late on but the goal was disallowed and Inter came away with an invaluable first victory of the campaign.

The result keeps Inter bottom on five points but within reach of Monchengladbach, Shakhtar and Real on eight, seven and seven points respectively.

Atalanta1-1 Midtjylland - Watch replay

FC Midtjylland picked up their first ever point in the Champions with a 1-1 draw in Italy.

Cristian Romero scored his first goal for Atalanta, 11 minutes from time, to cancel out Alexander Scholz’s first-half opener.

It was nevertheless a historic point for Midtjylland, who had lost their previous four matches in the group, conceding 11 and scoring just two.

Atalanta moved into second spot in Group D, a point above Ajax, which lost 1-0 at Liverpool.

The results mean that Atalanta needs just a point against Ajax in the Netherlands next week to send it through to the knockout stage for the second successive year.

Marseille 2-1 Olympiacos - Watch replay

Marseille ended their 13-match losing run in the Champions League after defeating Olympiakos.

Andre Villas-Boas' side went down 2-0 at home against Porto last week, which saw them break the record they had previously shared with Anderlecht.

But the Ligue 1 side snapped their unwanted streak as Dimitri Payet scored twice from the penalty spot.

It was the French giants' first win in the competition since 2012, when they beat Inter.