Spezia were 2-0 up within 15 minutes, but Roma fought back for 2-2 with a Henrikh Mkhitaryan lob, so the Coppa Italia tie goes to extra time, but Borja Mayoral missed several sitters.
The winners of this tie will go on to face Napoli in the quarter-final.
The Giallorossi needed a boost after their embarrassing 3-0 defeat to rivals Lazio in Serie A on Friday evening, while Spezia held out with 10 men for over 80 minutes in a 0-0 draw with Torino. Curiously, Roma and Spezia will face off again in Serie A this weekend.
Borja Mayoral pounced on a defensive misunderstanding in the opening 30 seconds, but fired over the bar from a tricky angle.
However, Spezia were awarded a penalty for Bryan Cristante’s trip on Giulio Maggiore, although contact was minimal. Andrij Galabinov made his first start since a serious injury on October 4 and picked up right where he left off, by finding the net from the spot.
Riccardo Saponara made his first start for Spezia and he marked it with a goal for 2-0. Marash Kumbulla gave the ball away cheaply on the edge of their own penalty area and Saponara curled into the far top corner.
Lorenzo Pellegrini fired wide and Leonardo Spinazzola’s angled drive flashed across the face of goal before the goalkeeper palmed away a ferocious Pellegrini strike.
Titas Krapikas also got down quickly to parry a Pedro effort, but Ardian Ismajli clumsily bundled into the back of Pellegrini for a penalty. Pellegrini converted it himself to get Roma back into the tie before half-time.
Roma started the second half strong, but horribly wasted a golden opportunity when Borja Mayoral tried an audacious back-heel flick and missed Henrikh Mkhitaryan’s assist.
Borja Mayoral managed a truly extraordinary miss on 67 minutes, as Pedro rolled it across, he had an open goal to aim at and ballooned over from seven yards.
Mkhitaryan completed the comeback from 2-0 to 2-2, as he burst into the box after a give-and-go with Mayoral, lofting the lob over on-rushing Krapikas for a stylish finish.
It was nearly 3-2 moments later, as Rick Karsdorp’s wayward volley took a double deflection off Pedro and Mayoral to go over the bar.
Alessandro Deiola drilled wide and Mayoral again just failed to get on the end of a Mkhitaryan ball across the face of goal.
It looked as if Roma would avoid extra time when Borja Mayoral intercepted a shocking back-pass at the 86th minute and the goalkeeper came flying out, but he incredibly fired wide of the target.
Spezia nearly won it in stoppages too, Pau Lopez flying to parry a Roberto Piccoli strike, but the teams are forced to extra time.
Roma 2-2 Spezia
Galabinov pen 6 (S), Saponara 15 (S), Pellegrini pen 42 (R), Mkhitaryan 73 (R)
Roma: Pau Lopez; Mancini, Cristante, Kumbulla; Peres, Pellegrini, Villar (Veretout 69), Spinazzola (Karsdorp 69); Pedro, Mkhitaryan (Carles Perez 85); Borja Mayoral
Spezia: Krapikas; Vignali, Erlic, Ismajli, Ramos (Dell’Orco 68); Deiola (Acampora 80), Leo Sena (Ricci 68), Maggiore; Agudelo (Verde 59), Galabinov (Piccoli 68, Saponara
Ref: Ghersini