The quarter-final at the San Siro was overshadowed by a row between star strikers Zlatan Ibrahimovic and Romelu Lukaku, who both scored on the night, with the Swede later sent off in the second half
Christian Eriksen scored a last-gasp winner as Inter Milan advanced to the Italian Cup semi-finals on Tuesday with a 2-1 victory over 10-man AC Milan in a fiery derby clash.
The quarter-final at the San Siro was overshadowed by a row between star strikers Zlatan Ibrahimovic and Romelu Lukaku, who both scored on the night, with the Swede later sent off in the second half.
Tensions were high with Lukaku missing the chance to put Inter ahead on 20 minutes as Milan goalkeeper Ciprian Tatarusanu, standing in for the suspended Gianluigi Donnarumma, saved with his foot.
And it was Ibrahimovic who grabbed the opener on the half-hour after connecting with Soualiho Meite's headed cross, firing in low from the right with the ball bouncing in off the far post.
Former Manchester United teammates Ibrahimovic and Lukaku then clashed angrily before the half-time whistle.
Ibrahimovic taunted Lukaku and infuriated the Belgian by laughing in his face with the pair going head-to-head.
The duo traded insults as they headed towards the tunnel with a furious Lukaku being restrained by his teammates.
Both players were booked over the incident.
Ibrahimovic got his marching orders when he picked up a second yellow card 15 minutes after the break for bringing down Aleksandar Kolarov.
"The booking for the dispute with Lukaku certainly influenced Ibrahimovic's dismissal," said Milan coach Stefano Pioli.
"He apologised 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 Milan coach Antonio Conte said he was happy to see Lukaku's reaction.
"I was pleased to see Romelu like this," said Conte.
"Ibra has the wickedness of a winner. I think that Romelu, also from this point of view, is growing.
"For us he's important, and if he gets angry every now and then I'm pleased."
Italy's top two teams in the league this season were looking to bounce back after a disappointing weekend of Serie A action.
Leaders AC Milan lost to Atalanta, as Inter missed the chance to move equal on points with the leaders after a goalless draw at Udinese.
Ibrahimovic scored a brace the last time they met in a 2-1 league win in October, with Lukaku also netting for Inter.
Rafael Leao's foul on Nicolo Barella gave Inter a penalty after 71 minutes with Lukaku stepping up to fire in via the underside of the crossbar.
Eriksen came off the bench with two minutes to go and the out-of-favour Danish midfielder scored the winner deep into stoppage time with a sensational free-kick after a change in referee because of injury.
Inter go through to meet either Juventus or Serie B side SPAL in the two-legged semi-final on February 3 and 10.