SPAL are the only remaining Serie B side left in the competition after holders Napoli beat second-division leaders Empoli 3-2 on Wednesday.
In the clash between two sides from Emilia-Romagna, Sassuolo played the second half a man down after Filip Djuricic was sent off just after the break for fouling Leonardo Sernicola.
SPAL took the lead just after Djuricic's exit with Simone Missiroli finishing off a Demba Seck cross with Lorenzo Dickmann volleying in the second just before the hour against their rivals who are fifth in Serie A.
SPAL will face Juventus on January 26 after the former 13-time winners beat Genoa 3-2 on Wednesday after the match went to extra time.
In-form Atalanta also advanced 3-1 past Cagliari, to set up a meeting with either Lazio or Parma.
Cagliari goalkeeper Guglielmo Vicario pulled off a string of saves for the Sardinians before Luis Muriel set up Aleksei Miranchuk to fire in the opener just before the break.
Riccardo Sottil got Cagliari back level after 55 minutes slotting in from an angle after a solo run through the Atalanta defence.
The Bergamo side went ahead again five minutes later with Robin Gosens setting up Muriel for his 13th goal this season, with Croatian Bosko Sutalo adding a third off a corner three minutes later.
Roma play Spezia next Tuesday with the winner going on to play Napoli in the quarter-finals.