A summary of Tuesday's matches in the UEFA Champions League.
Real Madrid underlined their return to top form with a spectacular Champions League display at home to Paris St Germain on Tuesday but they still had to settle for a 2-2 draw after two late strikes secured top spot in Group A for the French side.
Real had sealed their place in the knockout stages for a record-extending 23rd successive year thanks to Club Bruges's 1-1 draw at Galatasaray earlier, while PSG had also already qualified.
Yet with top spot on the line, as well as pride after PSG had crushed Real 3-0 back in September, both sides played with the passion, skill and commitment of a blockbuster knockout tie, serving up a thrilling game at the Santiago Bernabeu.
Karim Benzema knocked into an empty net to give Real the lead in the 17th minute of his 100th Champions League start and the French forward doubled the advantage with a 79th minute header.
Yet Kylian Mbappe immediately reduced the deficit in the 81st minute, capitalising on a mistake from Real goalkeeper Thibaut Courtois before Pablo Sarabia equalised in the 82nd.
PSG's fightback added to concern in the stands after Real winger Eden Hazard hobbled off in the second half with an ankle injury, although substitute Gareth Bale almost snatched a winner when he struck the post in added time from a free kick.
PSG top Group A with 13 points from five games while Real are second on eight. Club Bruges, who Real visit in their final game next month, are third on three points, while Galatasaray, who will travel to PSG, are bottom with two.
Real were cruising in the first half but the game looked set to be shaken up when PSG were awarded a penalty and Courtois was shown a red card for hauling down Mauro Icardi in the area.
But the referee overturned both decisions following a VAR review, and awarded Real a free kick instead for a foul on Marcelo in the build-up.
Madrid, who had won five of their previous six games, produced a dominant display but were let down by slack defending in the closing stages.
They should have killed the game off long before Benzema's second but were repeatedly denied by their former, much-loved keeper Keylor Navas.
The Costa Rican, who won three consecutive Champions League crowns with Real before moving to Paris at the start of the season, made 10 saves, including a stunning block to deny Benzema from point-blank range.
Dybala's stunning free kick gives Juve win over Atletico
Paulo Dybala curled in a free-kick from the unlikeliest of angles to give Juventus a 1-0 Champions League win over Atletico Madriy, which left the Spaniards with a battle to secure a round-of-16 place.
Juventus, already qualified, won the free kick just outside the penalty area and near the goal-line but the narrow angle did not deter Argentine Dybala who fired his shot over the wall and in off the crossbar in the 45th minute.
The Turin side, with 13 points from five games, made sure of winning Group D with one match to spare.
Atletico Madrid, beaten 3-0 on the same ground last season when they were on the wrong end of a Cristiano Ronaldo hat-trick, were left on seven points after their second successive defeat in the group, one ahead of Bayer Leverkusen.
"We are often criticised for playing badly and winning but this time we played well and didn't win," said Atletico midfielder Koke.
"It's infuriating, we created chances and gave everything but could not win. We just need to put the ball in the net."
Ronaldo, troubled recently by a knee problem, had a quiet game, avoided taking any free kicks and hurt himself when he kicked the corner flag trying to keep the ball in play, but did not appear to suffer an injury.
Atletico created the better chances despite having less possession.
Thomas Partey volleyed wide from outside the area and Saul Niguez headed over from close range when he should have done better, then forced Wojciech Szczesny to make a difficult save with a shot which went through a crowd of players.
Dybala, however, was a constant threat to Atletico and capped his display with a memorable goal just on the stroke of halftime.
Atletico continued to carve out chances after halftime but Matthijs de Ligt held the Juventus defence together and the Dutchman made a superb last-ditch tackle to deny Angel Correa a clear shot on goal.
The Mattress Makers squandered their best chance in stoppage time when Correa sent the ball across the face of goal, but Alvaro Morata, with an open goal gaping in front of him, failed to make contact.
"We played really well in the first half but we gave away too many balls playing our way out of defence," said Juventus coach Maurizio Sarri.
Lewandowski hits four as Bayern crush Red Star
Bayern Munich secured top spot in their Champions League group with a match to spare after four second-half goals from Robert Lewandowski inspired them to a 6-0 away mauling of Red Star Belgrade.
The result left Bayern top of Group B on 15 points, five more than Tottenham Hotspur who joined them in the last 16 after fighting back from two goals down to beat Olympiakos Piraeus 4-2 at home.
Bayern pinned Red Star back from the start and came close three times through Lewandowski and Kingsley Coman before Leon Goretzka fired them into a 14th-minute lead with a superb header.
The Germany midfielder rose above his markers to steer a perfect Philippe Coutinho cross from the left past goalkeeper Milan Borjan, who was left clutching nothing but air.
Lewandowski had a goal disallowed shortly before halftime after a quick VAR review ruled that Corentin Tolisso handled the ball when he teed up the Poland striker.
A vociferous band of around 2,000 visiting Bayern supporters lit some two dozen flares early in the second half, seemingly igniting Lewandowski’s onslaught against a hapless Red Star who were nonetheless roared on by their own faithful.
The Pole converted a 53rd-minute penalty after Milos Degenek handled in the box and made it 3-0 on the hour from a fine assist by Tolisso.
He headed in the fourth soon afterwards from a Benjamin Pavard cross and stunned Red Star again in the 68th minute. Tolisso completed the rout in the dying minutes with a simple finish.
Tottenham hit back to beat Olympiakos
Jose Mourinho's first home game as Tottenham Hotspur manager suffered a shocking start but ended happily as Harry Kane's record-breaking double helped his side come from behind to beat Olympiakos Piraeus 4-2 to reach the Champions League last 16.
The unexpected arrival of the celebrated Portuguese former Chelsea boss after Mauricio Pochettino, who took Spurs to last season's Champions League final, has caused much head-scratching amongst the Spurs faithful.
A 3-2 Premier League win at West Ham United on Saturday won over some of the sceptics but when goals by Youssef El Arabi and Ruben Sabedo put Olympiakos, bottom of Group B, 2-0 up inside 20 minutes, Spurs fans were stunned into silence.
Mourinho's first decisive act, sending on playmaker Christian Eriksen for defensive midfielder Eric Dier after 29 minutes, changed the flow and Dele Alli's tap-in on the stroke of half-time proved crucial.
Tottenham looked a different side after the break and Kane struck twice, either side of Serge Aurier's thumping effort, to take his Champions League tally to 20 in a record 24 games -- beating the 26 it took Alessandro Del Piero to reach the mark.
Victory meant Tottenham are guaranteed to finish runners-up in the group to Bayern Munich who they face in a fortnight.
Mourinho, who won the competition with Porto and Inter Milan, shook hands with each of his players and applauded the fans who applauded back, if not singing his name.
There was no fanfare for Mourinho as he took his place in the technical area before kick-off.
But the challenge he faces at Tottenham immediately became apparent as they began in the sloppy fashion that has been a hallmark of their season so far.
Olympiakos were far more lively and took the lead in the fifth minute when Danny Rose's attempted clearance was gathered by El Arabi and the Moroccan cut in from the right before fizzing a low drive from 25 metres past Paulo Gazzaniga.
The hosts responded with Son Heung-min's glancing header producing a fine save from Jose Sa.
However, Olympiakos continued to cause trouble in the Spurs defence. The hosts needed a last-ditch tackle by Davinson Sanchez to deny Daniel Podence after he broke clear.
But it got worse for Spurs in the 19th minute when Portuguese centre back Sabedo poked home from a corner.
Mourinho shrugged his shoulders at his assistants and soon hauled off Dier, although there were other candidates, such was the hosts' lacklustre start.
Had Olympiakos, roared on by a huge and noisy following, reached halftime ahead it would have been tough for Spurs, but when Yassine Meriah swung and missed at a clearance Alli had the simplest task to reduce the deficit.
Five minutes after halftime, Tottenham were level. A quick throw-in by Aurier released Lucas Moura and he cut the ball back for Kane to fire home.
Suddenly Spurs were rampant and they went ahead in the 73rd minute when Aurier connected sweetly to thrash home a right-footed volley from an angle.
Kane sealed the points five minutes later when he headed in Eriksen's dangerous delivery -- his 23rd goal in 23 games in all competitions for club and country this season.
Man City go through despite laboured draw with Shakhtar
A subdued Manchester City reached the Champions League's last 16 and secured top spot in their group despite an unconvincing 1-1 draw at home to Ukraine's Shakhtar Donetsk at the Etihad Stadium.
Ilkay Gundogan had fired City ahead in the 56th minute but Shakhtar earned a potentially valuable point after Israeli substitute Manor Solomon equalised in the 69th.
Atalanta's 2-0 victory over Dinamo Zagreb in Group C's other game meant that Pep Guardiola's side are guaranteed to finish top.
City have 11 points at the summit ahead of their final group game away to Dinamo with Shakhtar in second place on six points. Dinamo have five points and Atalanta four.
Yet while the goal of qualification was secured, it was a far from impressive performance from a team which harbours ambitions of a first Champions League triumph this season.
In recent weeks the crispness and sharpness of City's pass-and-move play has not been up to its established standard and their defending remains a concern.
At a subdued Etihad, City survived a scare in the 15th minute when their Brazilian goalkeeper Ederson raced out of his area and completely missed the ball as he attempted to clear.
That allowed Tete to break towards the unguarded goal, but Fernandinho did superbly to cover the near post and block his compatriot's shot.
Moments later, Ederson raced outside his box again but this time his intervention was well-timed and clean, as he slid to clear the danger with Tete threatening once more.
After a mostly uneventful remainder of the first half, City got themselves in front when Gabriel Jesus twisted and turned in the box before poking the ball to Gundogan who slotted home.
Yet Shakhtar drew level with a perfectly-constructed break that ended with Israeli substitute Manor Solomon drilling past Ederson after an excellent pull-back from Dodo.
City are third in the domestic league and trail leaders Liverpool by nine points.
For Shakhtar everything is still to play for in their final match, at home to Atalanta on Dec. 11, with all three teams in the group still having a chance to join City in the knockout stage.
Leverkusen beat Lokomotiv to keep qualifying hopes alive
Bayer Leverkusen stunned hosts Lokomotiv Moscow 2-0 to maintain their hopes of reaching the knock-outs from Group D.
An own goal from Rifat Zhemaletdinov and a Sven Bender volley gave Leverkusen a precious three points which kept alive their prospects of finishing in the top two as second-placed Atletico Madrid lost 1-0 at group leaders Juventus.
The Germans, who play Juve on December 11 in their group finale, are third in the standings on six points, with the Italians top on 13 and Atletico on seven. The Russians, with just three points from five games, are out of the running.
Even if Leverkusen fail to advance to the round of 16, they will still play European football next year, having secured third place and a spot in the Europa League with their win over Lokomotiv.
The Germans survived a strong Russian start and grabbed a lucky lead when a clearance bounced off the leg of Zhemaletdinov for an own goal in the 11th minute.
The Russians had a golden opportunity to level through Anton Miranchuk but Leverkusen keeper Lukas Hradecky palmed his close-range effort wide.
There was nothing lucky, however, about Leverkusen's second goal with Bender thundering in a volley from the left after a superb Charles Aranguiz chip, to seal victory for the visitors, who were without injured in-form midfielder Kai Havertz.
Atalanta down Dinamo to keep hopes alive
Captain Papu Gomez scored with a superb second-half strike as Atalanta secured a first-ever Champions League victory with a 2-0 home success over Dinamo Zagreb on Tuesday that keeps their knock-out round hopes alive.
Luis Muriel also netted at San Siro, where Atalanta are playing their home games while their regular stadium in Bergamo undergoes renovations, as the Italians proved full value for their success.
Manchester City have won Group C with 11 points from five matches, followed by Shakhtar Donetsk on six and Dinamo five. Atalanta sit at the foot with four points, but are still very much in contention for second place in the pool.
They travel to Ukraine to meet Shakhtar in their final pool encounter on Dec. 11, while Dinamo host Manchester City on the same night.
Colombian forward Muriel put the hosts ahead from the penalty spot after he was felled in the box by Zagreb defender Dino Peric as the ball crashed back off the crossbar from Robin Gosens's angled shot.
Hans Hateboer saw his shot cleared off the line, but at the other end Dinamo's Mislav Orsic, scorer of a hat-trick against Atalanta on match day one, curled an effort against the bar.
The home side's endeavour was rewarded on 47 minutes when Gomez picked up the ball 30 yards from goal, beat a defender and flashed a low shot into the far corner of the net.