Milan needed extra time to defeat Serie B side Crotone 3-1 in the Coppa Italia Fourth Round tie at San Siro.
Sinisa Mihajlovic rested many of his stars, but still expected to do considerably better just days after thrashing Sampdoria here 4-1.
Instead Crotone took the initiative, with Giuseppe Torromino and Raffaele Palladino engaging Rossonero goalkeeper Christian Abbiati with early shots at the 20' and 26'.
Milan's reaction was timid, except for a chance by Antonio Nocerino at the 39' that forced goalkeeper Alex Cordaz into a miraculous save, and the teams walked into the break with clean sheets.
The Diavoli reacted promptly as the second half began, with Luiz Adriano dribbling from the right and finally beating Cordaz with a right-foot shot.
Their advantage lasted just over 20 minutes, as Crotone's Ante Budimir burst into the box and shot in the low corner to beat Abbiati.
A flurry of substitutions on both sides attempted to give a new direction to the match, but the only effect was an increased number of fouls.
It went to extra time and with just 15 minutes to spare before a penalty shoot-out, Mihajlovic’s big name substitutes made the difference.
Jack Bonaventura curled in a magnificent free kick and M’Baye Niang confirmed his fine form by finishing off a Riccardo Montolivo assist.
See the latest Serie A predictions and betting tips with Eurotips.co.uk