Colombian striker Zapata pounced on a Lazio defensive error after just 57 seconds to fire in his fifth goal in three consecutive league games.
Atalanta, now sixth equal on points with Roma and Sassuolo, move one point behind Lazio, in fifth, but without a win in their last five league games.
AC Milan, one point ahead of the Romans in fourth, the final Champions League spot, can pull clear of Lazio when they host Bologna on Tuesday.
Lazio defender Francesco Acerbi looked as if had grabbed a point with his injury time header but the goal was ruled out after long consultation with VAR for the defender's foot being in an offside position.
Champions Juventus maintained their unbeaten record with a 1-0 derby win over Torino courtesy of a Cristiano Ronaldo penalty on Saturday.
Napoli are eight points behind the leaders after a 1-0 win over Cagliari, with Inter Milan third a further six points back after beating Udinese 1-0.
Behind the leading trio just three points separate AC Milan in fourth and Sampdoria in ninth place.