Extra-time goals from substitutes Hakan Calhanoglu and Ibrahimovic sealed passage into the last four for a Milan side who have been reawoken by the return of the Swede last month.
They will be relishing the tie with the Italian champions, who thumped Roma 3-0 in their quarter-final match last week.
The superstar striker’s second goal since returning to Milan came on a night the club honoured Milan fan Kobe Bryant — who spent much of his childhood in Italy — with the message “Legends never die” on the San Siro big screens.
Milan, who are still down in eighth in Serie A, have now won five on the bounce in all competitions and are unbeaten in their six matches since the end of the winter break.
It was Calhanoglu who saved Milan’s skin just after coming off the bench, as the Turk’s deflected shot in the dying seconds of normal time took the match to extra time after Torino goalkeeper Salvatore Sirigu had held the hosts at bay.
The hosts had dominated most of the match but had found themselves behind to two Gleison Bremer goals with 19 minutes left after Giacomo Bonaventura had given Milan the lead in the 12th minute.
Ibrahimovic missed two chances to snatch the tie after Calhanoglu levelled, first somehow shooting over the bar from inches out, then seeing his smart shot well pushed away by Sirigu.
Sirigu was on top form again in extra time when he pulled off a superb double save, first charging out to stop Theo Hernandez before quickly getting up to keep out the rebound.
However he couldn’t stop Calhanoglu putting his side ahead early in the second half of extra-time, his powerful shot escaping the Italian stopper’s grasp before Ibrahimovic slotted home Leao’s neat lay-off two minutes later, ending Torino’s resistance.