Verona moved up to sixth with 15 points, overtaking their opponents who have one point less. Last season's top scorers, Atalanta have won only one of their last six league games.
Josip Ilicic, Duvan Zapata and Remo Freuler all missed early chances for Atalanta and Johan Mojica headed a Hans Hateboer cross wide while Verona sounded a warning when Veloso smashed a shot against the crossbar.
Both teams had chances after the break before Rafael Toloi clumsily knocked over Zaccagni and Veloso converted the penalty in the 62nd minute.
Atalanta saw more chances go begging, with Luis Muriel the main culprit, before Veloso chipped the ball over the defence and Zaccagni controlled it superbly then rifled the ball home with seven minutes left.