Cristiano Ronaldo and Gonzalo Higuain were on target for Juventus as Bayer Leverkusen's Champions League campaign ended with a 2-0 loss at the BayArena on Wednesday.

Juve star Ronaldo scored his 28th goal in 26 Champions League appearances against German clubs in the 75th minute, before Higuain picked out the bottom-right corner in stoppage time.

Maurizio Sarri's side had already wrapped up top spot in Group D and the fact the hosts were the only team with something to play for was evidenced by them having the best chances of the opening period.

But Leverkusen – who would have exited the competition even if they had won due to Atletico Madrid's 2-0 victory over Lokomotiv Moscow – succumbed to Ronaldo and Higuain after the restart and dropped into the Europa League with defeat.

After seeing Higuain fail to tee up Ronaldo for a tap in Leverkusen went straight up the other end and rattled the upright through Moussa Diaby's venomous 20-yard strike in the 11th minute.

Karim Bellarabi went close when he forced Gianluigi Buffon into a save with a powerful cross-goal effort in the 22nd minute, while a sensational block from Merih Demiral stopped Kai Havertz sending Leverkusen into half-time with the lead.

Daley Sinkgraven made an important interception with Federico Bernardeschi looking to finish Higuain's delivery at the back post before the hour mark, and Peter Bosz responded by sending on Julian Baumgartlinger and Leon Bailey in attempt to boost his side's chances of snatching a winner.

However, it was Juve substitute Paulo Dybala who made the difference when he darted into space on the right and squared for Ronaldo to score from six yards.

Higuain rounded off the win when he fired Dybala's deflected pass beyond Lukas Hradecky to send Juve into the knockout stages unbeaten, though the smile briefly left Ronaldo's face after an encounter with a pitch invader following the final whistle left him clutching at his neck.

What does it mean? Juve well rested

With their place at the top of the group already secured, Juve made seven changes from their 3-1 loss to Lazio at the weekend.

Sarri gave a break to the likes of Wojciech Szczesny, Leonardo Bonucci and Matthijs de Ligt, while Dybala played just 25 minutes. That could prove important as they look to close the two-point gap to Serie A leaders Inter before heading to Saudi Arabia for the Supercoppa Italiana a week on Sunday.

Dybala unlocks Leverkusen

Juve had created very little in the second half, but the introduction of Dybala changed that. Seeing him combine effectively with Ronaldo and Higuain will no doubt give him food for thought amid clamour for the trio to start together.

Rabiot wastes opportunity

Sarri gave Adrien Rabiot just his fifth start of the season in all competitions but the midfielder failed to make a significant impact. He gave away three free-kicks and somehow escaped a booking for a late challenge on Bellarabi in the 47th minute.

Key Opta Facts

- Juventus have remained unbeaten in the Champions League group stages (current format since 2003-04) for the fifth time.
- Since the start of last season, no Juventus player has had a hand in more Champions League goals than Paulo Dybala (8 goals, 2 assists).
- Cristiano Ronaldo scored his 128th Champions League goal, 14 more than any other player. 
- Aged 41 years and 317 days, Gianluigi Buffon became the second oldest player to appear in a Champions League game after Marco Ballotta in December 2007 (43 years and 252 days).

What's next?

Juve will hope to claim a first win in three league matches when they host Udinese on Sunday, a day after Leverkusen visit Cologne in the Bundesliga.