Manchester City booked their place in the Champions League round of 16 with a 1-0 victory at Olympiacos, while Real Madrid beat Inter Milan 2-0 to leave the Italian giants still searching for their first win in the competition.

At Anfield, hosts Liverpool squandered a chance of qualifying for the knockout round when Juergen Klopp's men were stunned 2-0 by Atalanta.

Josip Ilicic and Robin Gosens scored goals in a five-minute span midway through the second half as the Italians gained a measure of revenge for their 5-0 thrashing by the English champions in the first match of their double-header three weeks ago.

Reds midfielder James Milner accepted it had been a "poor performance" from the English champions.

"It was pretty flat. There were a lot of changes again and we never got going it was disappointing," he told BT Sport 2.

"We didn't have that sharpness tonight, but we are still top of the group. We have to recover and go again."

In the same group, Ajax beat Midtjylland 3-1 with striker Awer Mabil converting from the spot in the 80th minute after the Socceroo had been fouled in the box by Noussair Mazraoui.

There were also wins for Bayern Munich, who beat Salzburg 3-1, and Porto who defeated Marseille 2-0.

Bayern's win, thanks to goals from Robert Lewandowski, Maximilian Wober and Leroy Sane, sees them through to the knockout stage.

Atletico Madrid and Lokomotiv Moscow played to a goalless draw in Madrid while Borussia Monchengladbach defeated Shakhtar Donetsk 4-0 to consolidate their place at the top of Group B.

Real's 2-0 away win over 10-man Inter left the hosts teetering on the brink of elimination.

Eden Hazard converted a seventh-minute penalty while Achraf Hakimi scored an own goal in the 59th minute, with Inter's problems compounded by the dismissal of Arturo Vidal in the 33rd minute.

In Greece, Phil Foden scored the only goal of the game for Group C leaders City to maintain their 100 per cent record.

After dominating possession with little reward, City found a breakthrough in the 36th minute when Gabriel Jesus trapped a crossfield ball and fed Raheem Sterling, who produced a sublime backheel pass for Foden to slam the ball into the net.

The Greek side stayed in the game and were not far from finding a late equaliser when Konstantinos Fortounis pulled his shot just wide of the far post from a tight angle, while defender Pape Cisse headed over the bar in added time.

After hammering Shakhtar 6-0 away when the two sides met at the start of November, Monchengladbach once again had too much for their Ukrainian opponents.

Breel Embolo's overhead kick was the pick of the goals, with a 17th minute Lars Stindl penalty and strikes from Nico Elvedi and Oscar Wendt completing the scoring.