Colombian international Zapata rifled in the winner on 95 minutes in Genoa to seal all three points for Atalanta who qualified for the Champions League by finishing third last season, but lost last week to Torino.
Colombian striker Muriel’s 64th-minute penalty had put the Bergamo side ahead in western Italy but Genoa captain Domenico Criscito levelled from the spot after 91 minutes.
Zapata had the final say to give Gian Piero Gasperini’s side, who are sixth, a confidence boost as they travel to Dinamo Zagreb for their first ever Champions League game next week.
AC Milan are just behind Atalanta, also with six points, after Polish striker Krzysztof Piatek got back scoring with a 68th-minute penalty in a hard-fought 1-0 victory over 10-man Verona.
Roma are just behind in eighth after new coach Paulo Fonseca got his first win , a 4-2 defeat of Sassuolo, for the capital side.
The hosts were four goals up at the break after Bryan Cristante, Edin Dzeko, Henrikh Mikhitaryan and Justin Kluivert all found the net in a 21-minute spell with Lorenzo Pellegrini providing three assists.
But Domenico Berardi’s brace for Sassuolo on 53 and 72 minutes rattled the hosts who are back in the Stadio Olimpico during the week for Europa League action against Istanbul Basaksehir.
“I hope that this will be the first of a lot of victories,” said Portuguese Fonseca.
“I realised that I had to adapt to the dynamics of the Italian championship.
“Today we showed our ability to press high, and while we scored four goals it could have been seven or eight.
“Defensively it was our best performance so far.”
Lazio suffered their first defeat this season as they paid for their complacency following Ciro Immobile’s 17th-minute penalty against SPAL, losing 2-1.
An Andrea Petagna volley just after the hour mark in Ferrara and Jasmin Kurtic’s late winner sealed all three points for SPAL.
The Romans are ninth with four points from three games.
– Bologna go second –
Bologna moved second after a gutsy 4-3 comeback win over promoted Brescia, inspired by coach Sinisa Mihajlovic who gave instructions from hospital as he undergoes chemotherapy.
“At the end of the first half we heard Mihajlovic’s anger on the phone and this shook us,” said Bologna forward Rodrigo Palacio.
“We talked to him before the game, for us it is very important and we miss him. We play like this thanks to his mentality.”
Sunday’s game was the first the 50-year-old Mihajlovic has missed despite his condition.
A quick-fire Alfredo Donnarumma double saw Brescia — playing their first home match in eight years — lead after 19 minutes.
Mattia Bani headed Bologna back into the game on 36 minutes, with the visitors trailing 3-1 before Brescia were hit by Daniele Dessena’s sending off for a second yellow card just after the break.
Bologna came back with goals from Palacio on 56 minutes, Stefano Denswil four minutes later and a Riccardo Orsolini winner 10 minutes from time.
Mihajlovic’s side, who finished 10th last season, are now two points behind Inter Milan and ahead of champions Juventus on goal difference after three games.
Torino, who have maximum points after two games, can move ahead on Monday when they host promoted Lecce.
Cagliari meanwhile won 3-1 at Parma in a game where there were 12 minutes of extra time following a lengthy VAR review.