A stunning Dani Alves volley helped Juventus stroll into their second Champions League final in three years on Tuesday as a 2-1 win on the night completed a 4-1 aggregate victory over outclassed Monaco.

Brazilian wing-back Alves’s 25-yard strike followed Mario Mandzukic’s opener for the treble-chasing Italian champions as any semblance of a contest was snuffed out by half-time.

Teenage superstar Kylian Mbappe pulled a goal back for the principality club after the break, his sixth of the competition. But there was never any realistic prospect of them threatening to overturn a 2-0 deficit from last week’s first leg.

It will be the ninth time Juventus, runners-up in 2015, have contested the final of Europe’s elite club competition. And on this evidence, Massimiliano Allegri’s sinewy, battle-hardened squad stand a good chance of adding to the club’s meagre return of two triumphs when they meet either Atletico Madrid or Real Madrid in Cardiff on June 3.

Allegri made only one change from last week’s first leg line-up but was soon forced to restore it as Germany midfielder Sami Khedira, returning from suspension, lasted only 10 minutes before limping off to make way for Claudio Marchisio.

For Monaco, the loss of Nabil Dirar to injury in the warm-up meant a hasty return for Benjamin Mendy as coach Leonardo Jardim opted to match Juve’s 3-5-2 set-up.

The results were initially encouraging and Mbappe squeezed a fifth-minute shot past Gianluigi Buffon from a tight angle and held his head in his hands as it came back off the inside of the post, although the offside flag had come up.

Subasic kept busy

The home supporters had to wait quarter of an hour to see their side emerge meaningfully from their own half. But they were soon being treated to some slick entertainment that at times left the visitors looking like spectators.

Paulo Dybala made amends for slicing Gonzalo Higuain’s knockdown wide from the edge of the area by deftly playing his fellow Argentinian into a one-on-one with Monaco goalkeeper Danijel Subasic. It was the kind of chance the striker usually gobbles up but this one was fluffed with a semi-shanked attempt to dink the ball over the goalkeeper.

Mandzukic had a similar chance but saw his toe-poked effort saved by Subasic before Andrea Raggi’s last-ditch block denied Dybala. But a goal was coming and it duly arrived 12 minutes before the break after a move that began with a Buffon throw out.

Dybala supplied Alves on the right and his deep cross picked out Mandzukic advancing on the back post. Again Subasic saved at close range but the rebound fell kindly for the Croatian striker to thump the loose ball into the roof of the net. The deflated body language of Monaco’s young side told its own story and any doubt about the outcome disappeared a minute before the interval.

Subasic did well again to keep out Dybala’s effort with another close-range stop and he got a firm fist to the resulting corner. But the clearance fell invitingly for Alves 25 yards out and the Brazilian’s volley was timed sweetly enough to beat the Monaco goalkeeper to his left by sheer pace.

Comprehensively outplayed, Monaco restored a bit of pride when Mbappe pulled a goal back midway through the second period. Portugal midfielder Joao Moutinho was the architect, working his way into the left side of the box.

His cross was clipped low from the byline and Mbappe showed quick feet to bundle it over the line in a manner reminiscent of a young Thierry Henry, also once a Monaco prodigy.