Senad Lulic scored a late goal to give Lazio a 1-0 win at Napoli which sent them into the Coppa Italia final and added to Rafael Benitez's problems on Wednesday.
Holders Napoli went into the match as favourites after drawing 1-1 away in the first leg of the semi-final but were knocked out after a familiar tale of missed chances and poor defending.
Napoli coach Benitez was under pressure after his side slipped from third to sixth in Serie A, leaving their Champions League qualification hopes in tatters, and retaining the Coppa was seen as a chance to salvage their season.
Even before Wednesday's result, there was mounting speculation that the Spaniard would not renew his contract at the end of the season.
Napoli forward Manolo Gabbiadini fired a free kick against the foot of the post and headed wide from Marek Hamsik's cross as the hosts pressed in the first half.
Gonzalo Higuain twice came close to being put clean through on goal early in the second half while Jonathan de Guzman wasted another chance to break clear of the Lazio defence with a poor first touch.
But Lazio, who face Juventus in the final, were also dangerous and went ahead 11 minutes from time when Felipe Anderson rolled the ball across the face of goal and Lulic beat three defenders to the ball to turn it in from six metres.
The Bosnian, who scored the winner when Lazio beat AS Roma in the final two seasons ago, was also the hero at the other end when he cleared the ball off the line after a brilliant run by Lorenzo Insigne.
Italian Cup: Gabbiadini goal keeps Napoli-Lazio semi in the balance
Dzeko hat-trick kick-starts Bosnia's Euro 2016 campaign