Inter Milan secured their place in the semi-finals of the Coppa Italia with a 2-1 win over Roma.
The home side went in front after 10 minutes when Brazilian striker Adriano capitalised on some slack Roma defending to score.
Roma drew level just past the hour mark when Rodrigo Taddei fired home past Francesco Toldo.
Parity proved short-lived as Inter grabbed the lead and winner just two minutes later as Ibrahimovic acrobatically volleyed home.
Sampdoria overcame Udinese 4-1 on penalties after a 1-1 draw to reach the last four.
The visitors broke the deadlock on 55 minutes when new striker Giampaolo Pazzini netted his first goal for Sampdoria.
Udinese drew level from the penalty spot eight minutes later when Italian international Antonio Di Natale converted his spot-kick.
Di Natale missed the chance to win the game for Udinese in normal time when he saw his last-minute penalty hit the post.
Neither side could find a goal in extra-time forcing the game into a dreaded penalty shoot-out and Samp goalkeeper Antonio Mirante proved to be the hero saving efforts from Gaetano D'Agostino and Simone Pepe.