Juventus have one foot in the Italian Cup final after Martin Caceres scored a brace to hand them a 2-1 win over AC Milan in the semi-final, first leg at the San Siro on Wednesday.
Italian youth international Stephan El Shaarawy replied for the hosts but it wasn't enough.
The victory maintained the Serie A leaders' unbeaten run this season in league and cup.
It was the second time in this campaign the champions have lost to their bitter rivals but Milan coach Massimiliano Allegri denied his side's chances of reaching the final had been dimished.
"We have to accept the defeat knowing that nothing has been compromised," he told Rai.
"We were naive in conceding the second goal and that's disappointing in a game such as this.
"Those are errors we need to cut out but we'll stay serene. We had many players out injured but we don't have time to blame anyone," added Allegri in a reference to Juve's complaints at the weekend that the referee had cost them a win against Siena.
"I know my team's strengths with many strange injuries. We have to remain calm and continue to work hard."
The other semi-final is between Siena and Napoli, with their first leg to be played in Tuscany on Thursday.
The first half was a tentative and tight affair with few chances for either side, both of whom had rung the changes, resting several first choice regulars.
But Juve coach Antonio Conte praised his bit part players for their contribution.
"What I liked the most was the response from the lads, and I'm talking about the new ones and the ones called to the cause for an important match such as this in a Cup semi-final away to Milan," he said.
"The whole team gave an important response but particularly those players who have been less used than the others."
Clarence Seedorf lashed a dropping ball wide for Milan for whom El Shaarawy then beat Andrea Barzaglie with a clever touch only to fire his shot from a tight angle across the six-yard box.
Juve didn't create a decent chance until after the half hour mark when Marcelo Estigarribia thrashed wide from 15 yards.
Emanuele Giaccherini hit a shot from outside the box that took a wicked deflection but Milan goalkeeper Marco Amelia stretched out a hand to tip it over bar.
The second half was a much more lively affair thanks to the visitors taking an early lead.
Former Milan forward Marco Borriello wriggled free in the box to get off a shot that Amelia could only push out and Caceres was quickest onto the loose ball to finish on 53 minutes.
Juve threatened to run away with it and captain Alessandro Del Piero fizzed a shot wide of the upright.
But the hosts started to come back into it and following a cross from Luca Antonini, captain Massimo Ambrosini teed up El Shaarawy to fire home a crisp finish on 62 minutes.
Zlatan Ibrahimovic then had the ball in the net but it was ruled out for a somewhat obvious handball.
Milan appeared the more likely and Ibrahimovic had another chance that Giorgio Chiellini blocked with a dramatic full-length dive.
Juve went close when Amelia pushed out Mirko Vucinic's shot only for Fabio Quagliarella to arrive too late to knock home the rebound.
But seven minutes from time Giaccherini beat the offside trap to escape down the left and cross for Caceres to take a touch and plant an unstoppable curler into the top corner that left Amelia rooted to the spot.
There was an ugly finish to the game as Ibrahimovic, sent off and banned for three league games for slapping Napoli's Salvatore Aronica at the weekend, clashed with Juve goalkeeper Marco Storari while Chiellini also flared up with Milan assistant Mauro Tassotti.