L'Aquila bounced back from a brilliant Andriy Shevchenko strike on 77 minutes, to equalize three minutes later through Mauro Zarate. An extra-time Goran Pandev goal was enough to send them through.
The Rossoneri finished the game with ten men, after Brazilian midfielder Emerson was sent off for two bookable offences in the 66th minute.
The game was very eventful in the first half, and before scoring, Shevchenko wasted three real opportunities for Carlo Ancelotti's men.
Milan keeper Dida was given a rare start, and the Brazilian was called into action on several occasions to save an Alexander Kolarov free kick and a Pandev shot.
Despite Emerson's sending off, Milan took the lead through a long range Shevchenko shot.
Minutes later, Pandev won Lazio a penalty which was successfully converted by Argentine substitute Zarate.
With the 1-1 draw, the two teams went into extra-time, but it wasn’t long before Lazio scored the winner. After initial efforts from Zarate and Pandev, the Macedonian managed to slot the ball past Dida from close range.
Confident Ancelotti
Despite failing to win in their last two league games, Milan coach Ancelotti said after that the Cup defeat doesn’t represent a tough spell for the club.
"This is not a difficult time for us. It’s a defeat, but it isn’t too painful. We can already get back on track against Catania on Sunday.
"The important thing tonight was that Shevchenko was able to find the net again."
The former Parma and Juventus boss stressed that losing Emerson was the game's turning point.
"We were left with 10 men at the crucial moment of the match and at the end paid the price for that.
"We used up a lot of energy, but we accept the defeat. Overall it was a decent performance from my team and we played against a quality side."