Ibrahimovic’s match started in typically clinical fashion in front of goal after the evergreen Swede superbly fired home in the 31st minute to give Milan the lead – his eighth goal in seven appearances for Milan against Inter in all competitions.
As the first half drew to a close, Ibrahimovic was booked for his part in a clash with Inter’s Romelu Lukaku, with the pair, former team mates at Manchester United, continuing their argument down the tunnel at halftime.
Both seemed to have calmed down after the break, but Ibrahimovic picked up his second yellow for a trip on Aleksandar Kolarov and was sent off in the 58th minute.
Inter took advantage of the extra man, with their top goalscorer Lukaku firing a 71st-minute penalty into the net off the underside of the crossbar to equalise.
Inter bombarded the Milan goal but could not find a winner until substitute Eriksen stepped up with a stoppage-time free kick to book his side a semi-final clash with either Juventus or SPAL who play on Wednesday
Milan are top of the Serie A standings on 43 points, two clear of rivals Inter, with both looking to end Juventus’ nine-year title-winning run.
Even though both coaches made changes to their starting sides, it took nothing away from the spectacle as both teams went at it from the off.
After Ibrahimovic’s13th goal of the season, the Swede was involved in a heated exchange with Lukaku. Both players were cautioned, with Lukaku so incensed he had to be restrained as the teams went off at halftime.
Ibrahimovic, however, did not last much longer, and was sent off for the first time in Europe since March 2015. Lukaku then stepped up after Nicolo Barella had been fouled to score his 18th of the season in all competitions.
Following a change of referee due to injury, Eriksen had the final say.
Things have not gone to plan for Eriksen since he left Tottenham Hotspur for Milan almost a year ago to the day, with the Dane having started just four league games this season, leading to speculation he could return to England this January.
The 28-year-old came off the bench late on and proved he still has something to offer, curling a sublime free kick into the net in 97th minute, for his first goal of the season.