A Douglas Costa strike and a controversial Mario Mandzukic goal set up a two-legged encounter with Atalanta.

AC Milan will play Lazio in the other semifinal.

Juventus took the lead in the 15th minute when a ball ricocheted around the area and into the path of Douglas Costa, who unloaded a powerful half-volley into the top-right corner.

M'Baye Niang almost leveled immediately but he hit the post.

That was one of Torino's few sights of goal and Juventus doubled their lead midway through the second half when Paulo Dybala threaded the ball through for Mandzukic to chip it over Vanja Milinkovic-Savic.

The Torino players were furious as they felt there was a foul from Sami Khedira on Afriyie Acquah in the build-up but, after reviewing the incident on video, the referee awarded the goal.