There was little to separate the Serie A sides during a tight contest at Stadio San Paolo, where the Spanish forward headed home in the second half to send Maurizio Sarri's men through.
Napoli survived the sending off of Elseid Hysaj for committing a second bookable offence in the 90th minute, the remaining 10 men holding out successfully in injury time, as La Viola saw its hopes undermined when Maximiliano Olivera joined his opponent in seeing red.
Pepe Reina was tested first in the home team's goal, steering over Federico Chiesa's effort from an acute angle, before doing brilliantly to react to Davide Astori's awkward header.
Lorenzo Insigne was closely involved as Napoli responded, the forward forcing Ciprian Tatarusanu to tip a free-kick onto the woodwork. Insigne went close again in the opening 45 minutes, with Callejon also testing the goalkeeper from a dead ball.
Dangerman Insigne came even closer to breaking the deadlock just after the hour mark, another free-kick from a demanding angle rattling the crossbar with Tatarusanu beaten.
And Fiorentina's defence was finally breached with 19 minutes to go, when a fast counter-attack saw Insigne find Marek Hamsik down the left. The captain centred a neat chip for Callejon to head at goal, with Tatarusanu this time unable keep it out.
Juventus, AC Milan, Inter, Lazio and Roma are among the other clubs aiming to join Napoli in the last four.