Allegri's changes do the business for Juventus

Porto 0 Juventus 2

Juventus struck twice in the second half to take control of their Champions League last-16 tie against 10-man Porto.

The Portuguese champions had their backs to the wall for much of the game following Alex Telles' 27th-minute dismissal and Juve's dominance finally paid off as substitutes Marko Pjaca and Dani Alves scored two minutes apart to seal a 2-0 win.

Porto looked to strangle the game after they had been reduced to 10 men, Telles booked for tripping Juan Cuadrado on the halfway line and dismissed for another caution just 74 seconds later for another touchline foul, this time on Stephan Lichsteiner.

Miralem Pjanic stung the palms of Iker Casillas with the game's first decent effort, with the Spanish goalkeeper then pushing an effort from his former Real Madrid team-mate Gonzalo Higuan behind for a corner.

The visitors came close to taking the lead on the stroke of half-time as Paulo Dybala's long-range drive rattled the post.

Porto were frustrating the visitors after the interval as they battled resolutely despite being a man down.

With Juventus knocking on the door but unable to take the lead, Max Allegri looked to his bench with impressive results.

Pjaca replaced Cuadrado after 67 minutes and had the Serie A champions ahead less than five minutes later, finishing well for his first Juve goal after Dybala's pass was deflected perfectly into his path.

Alves needed even less time to double the advantage as he came on for Lichsteiner and struck just over 60 seconds after his introduction, controlling Alex Sandro's cross before rifling home.

Sami Khedira almost added a third late on but his sliding effort dropped wide of Casillas' goal, although the damage appears to have already been inflicted.