Pordenone goalkeeper Simone Perilli pulled off several saves in normal time to keep the game scoreless, and he almost proved to be the hero during the shootout, stopping two penalties.
But Inter prevailed 5-4, with Yuto Nagatomo tucking away the final spot kick at the San Siro.
Both sides hit the woodwork during the 120 minutes.
Inter coach Luciano Spalletti rang the changes, and only Milan Skriniar and Matias Vecino remained in the starting 11 from Saturday’s 0-0 draw at Juventus.
However, he was forced by desperation to bring on Marcelo Brozovic at half-time as well as star forwards Ivan Perisic and Mauro Icardi later.
Pordenone went closest to taking the lead during regulation as Inter goalkeeper Daniele Padelli did well to turn Simone Magnaghi’s shot onto the right post.
Inter should have broken the deadlock shortly before half-time but teenager Yann Karamoh fired over with only the goalkeeper to beat after great work from Joao Cancelo.
Perisic was brought on in the 67th and he had a great chance shortly afterwards but sent his effort inches wide of the left post.
Even Icardi couldn’t score when he was introduced in the 80th, heading over the bar from close range and sending another header onto the left post in extra time.
The match incredibly went to a penalty shootout, which got off to a bad start for Pordenone as Padelli saved Gianvito Misuraca’s kick.
However, Perilli saved from Skriniar and Roberto Gagliardini, while Luca Lulli blazed over for the visitors.
Salvatore Burrai, Magnaghi and Mirko Stefani converted for Pordenone, while Brozovic, Perisic and Icardi did the same for Inter, so the shootout went to sudden death.
Patrick Ciurria and Vecino netted their efforts but Pordenone defender Giulio Parodi, who is on loan from Juventus, was saved by Padelli.
Inter: Padelli, Nagatomo, Skriniar, Ranocchia, Dalbert (Icardi 80), Gagliardini, Vecino, Cancelo, Eder, Karamoh (Perisic 68), Pinamonti (Brozovic 46)
Subs not used: Handanovic, Valero, Santon, Berni, Emmers, Candreva, Lombardoni
Penalties: Brozovic, Perisic, Skriniar (missed), Gagliardini (missed), Icardi, Vecino, Nagatomo
Pordenone: Perilli, Formiconi, Stefani, Bassoli, Nunzella (Parodi 117), Burrai, Lulli, Misuraca, Berrettoni (Ciurria 97), Angel (De Agostini 80), Magnaghi
Subs not used: Buratto, Zommers, Pellegrini, Visentin, Raffini, Martignago, Silvestro, Danza, Toffolini
Penalties: Misuraca (missed), Burrai, Magnaghi, Lulli (missed), Stefani, Ciurria, Parodi (missed)