Holders Juventus were knocked out of the Coppa Italia at the quarter-final stage, losing 3-0 to Atalanta.
The home team scored twice in the first half through Timothy Castagne and Duvan Zapata.
Colombian striker Zapata claimed his second in the 86th minute - his 17th goal in his past 10 games - to set up a semi-final against Fiorentina.
Juve have won the Coppa Italia four times under manager Massimiliano Allegri, who was sent off.
They fielded a strong starting line-up on Wednesday, with Cristiano Ronaldo starting alongside Paulo Dybala.
For the opening goal, Castagne dispossessed Joao Cancelo, who had come on for an injured Giorgio Chiellini, and coolly slotted a shot into the bottom corner.
Just two minutes later, Zapata punished Juve for failing to clear the ball as it pinged around the box, rifling a shot past goalkeeper Wojciech Szczesny.
The Serie A leaders, who are unbeaten in the league, had chances in the second half and came close with a Sami Khedira volley but he was denied by a good save from Etrit Berisha.
Zapata then pounced on a poor Mattia de Sciglio back-pass for the third goal in the closing stages.
Fiorentina brushed aside Roma 7-1 in their quarter-final as Federico Chiesa scored a hat-trick and AS striker Edin Dzeko was sent off for arguing with the referee.
- 19DjimsitiBooked at 43mins
- 6PalominoSubstituted forMasielloat 89'minutes
- 33HateboerBooked at 54mins
- 15de RoonSubstituted forGosensat 90+1'minutes
- 11FreulerBooked at 45mins
- 72IlicicSubstituted forPasalicat 27'minutes
- 2De Sciglio
- 3ChielliniSubstituted forCanceloat 27'minutes
- 12Lobo Silva
- 6KhediraSubstituted forPjanicat 71'minutesBooked at 79mins
- 14MatuidiBooked at 88mins
- 10DybalaSubstituted forDouglas Costaat 62'minutes
- 7Cristiano Ronaldo
- 11Douglas Costa
- Fabrizio Pasqua
- Shots on Target