The Giallorossi found themselves 3-1 down at the interval, despite taking an early lead through home debutant Javier Pastore, before Alessandro Florenzi and Kostas Manolas struck in the final half-hour.
Two dropped points in their first home outing of the season leaves Roma in fifth place in the embryonic Serie A standings, level on points with their opponents.
The hosts had lost three of their last six meetings with La Dea in the Italian top flight, but they got off to a quick start here thanks to summer signing Pastore's smart back-heeled finish from 11 yards.
Having also come close through Emiliano Rigoni and Mario Pasalic in the opening quarter of the match, Atalanta soon had a second goal as Rigoni converted from a one-on-one position once played in by Zapata.
Rigoni then skimmed the bar with his next shot and Pasalic would have added a third if not for the intervention of Daniele De Rossi.
A third goal did arrive before the break, however, with Pasalic sending a low shot past Robin Olsen at his near post in the Roma goal.
Edin Dzeko was wasteful from a good position as Roma continued to knock on the door, and they were eventually rewarded courtesy of Manolas's close-range finish at the back post at the end of a Pastore free kick.
Another chance went begging for Dzeko late on, while Patrick Schick was thwarted by Gollini as Atalanta stretched their unbeaten run at this ground to a fifth match.
ROMA (4-3-3): Olsen; Florenzi (Schick 73'), Manolas, Fazio, Kolarov; Cristante (N'Zonzi 46'), De Rossi, Pellegrini (Kluivert 46'); Cengiz Under, Dzeko, Pastore
ATALANTA (3-4-3): Gollini; Djimsiti, Mancini (Toloi 64'), Palomino; Castagne, Pessina (Hateboer 50'), Valzania (De Roon 54'), Ali Adnan; Pasalic, Duvan Zapata, Rigoni