Christian Eriksen's stoppage-time free-kick secured Inter Milan a dramatic 2-1 Coppa Italia win over AC Milan in which Zlatan Ibrahimovic got into a spat with Romelu Lukaku and was later sent off.
An eventful outing for Ibrahimovic saw him put the Rossoneri ahead in the derby with a 31st-minute strike.
The 39-year-old then got involved in a heated exchange with his former Manchester United team-mate Lukaku just before half-time.
The pair, who at one point had their heads pressed against each other, were both booked – and Ibrahimovic subsequently received a second yellow card and his marching orders just prior to the hour mark following a foul on Aleksandar Kolarov.
Lukaku then drew things level with a penalty in the 71st minute, before substitute Eriksen sent a free-kick past Ciprian Tatarusanu in the seventh minute of time added on.
Pioli on Zlatan's red card
"The booking for the dispute with Lukaku certainly influenced Ibrahimovic's dismissal," said Milan coach Stefano Pioli.
"He apologized like the great champion he is. But it wasn't easy with a man less.
"I didn't hear what they said but they are old enough to take care of themselves. We have to look ahead."
Inter’s semi-final opponents will be the winners of Wednesday’s clash between Juventus and SPAL.