Cristiano Ronaldo scored the 750th goal of his footballing career goal as Juventus eased to victory against Dynamo Kyiv, a match officiated by Stephanie Frappart who became the first female to referee a Champions League contest.
Ronaldo scored the second goal after Federico Chiesa’s opener with Morata then scoring his sixth goal of the European campaign.
Juve face Barcelona next week for the right to finish top of Group G.
Barcelona are favourites to finish top of the group, though, after they swept aside their Hungarian opponents with three first-half goals.
The Catalan side – who rested Lionel Messi – maintained their 100% record in the competition this season thanks to goals from Antoine Griezmann, Martin Braithwaite and Ousmane Dembele inside 28 minutes.
In Group E, Olivier Giroud scored all four goals in a comprehensive Chelsea victory over Sevilla that ensures the Blues take top spot.
The Frenchman scored early in each half and completed his treble with a flicked near-post header, before adding a fourth from the spot after he was bundled over in the box.
Despite the defeat, Sevilla, have also confirmed their place in the knockout stages while Krasnodar boosted their bid to finish third and drop to the Europa League with a 1-0 win over Rennes courtesy of Marcus Berg’s second half winner.
Borussia Dortmund secured their place in the last 16 despite missing top scorer Erling Braut Haaland as they drew with Lazio.
Haaland, the joint top scorer in the competition with six goals, was absent from the matchday squad because of a hamstring injury.
Dortmund took the lead before half time when Raphael Guerreiro stabbed in but Ciro Immobile’s second-half penalty earned Lazio a draw.
While Dortmund progress from Group F with a game to spare, Lazio need at least a draw against Club Bruges – who beat Zenit St Petersburg 3-0 on Wednesday – in their final game to ensure qualification.
Meanwhile, Manchester United’s Champions League campaign is hanging in the balance after they were beaten at Old Trafford by Paris St-Germain with Brazilian Neymar scoring a brace.
Marcus Rashford’s deflected effort had cancelled out the Brazilian’s early opener but Marquinos’ second-half finish put the visitors back in front and after United midfielder Fred had been sent off for a foul on Ander Herrera, Neymar tapped home his 38th Champions League goal.
The result leaves United level with PSG and RB Leipzig on nine points in Group H and knowing they need a draw away to the German side next Tuesday to progress to the last 16.
RB Leipzig needed an Alexander Sorloth’s stoppage-time goal to earn them a 4-3 victory at Istanbul Basaksehir and kept the German side in the running for a top-two finish.
Sorloth drilled in his shot after the Turks had fought back thanks to Irfan Kahveci.
First-half goals from Yussuf Poulsen and Nordi Mukiele gave Leipzig a two-goal lead and Dani Olmo made it 3-1, but the Turks twice cut the deficit and levelled when Kahveci completed his hat-trick.