The Bergamo-based team, whose only major title success was when they won the same competition in 1963, have also reached the last 32 of the Europa League and are ninth in Serie A.
Napoli rotated their team, leaving forwards Dries Mertens and Lorenzo Insigne on the bench, and were unrecognisable from the side which usually plays the most flowing and entertaining football in Italy.
Atalanta went ahead five minutes after the restart with a goal from Timothy Castagne, who blasted the ball into the net from close range after Andreas Cornelius's shot hit a defender and rebounded into his path.
Juventus rout AC Milan to win Coppa Italia again
Gomez added a brilliant second in the 81st minute when he collected the ball on the left, sped past Vlad Chiriches as the Napoli defender slipped and unleashed an unstoppable shot from a narrow angle past Luigi Sepe.
Mertens, brought on the in second half, pulled one back in the 84th minute but Atalanta, who beat Napoli home and away in the league last season, comfortably held on.
Atalanta will face either titleholders Juventus or Torino, who meet on Wednesday, in their two-legged semi-final.
AC Milan reach cup final on penalties after goalless 210 minutes
Higuain puts Juve on course for Coppa Italia final