Gian Piero Gasperini's side went in front through Ruslan Malinovskyi in the first half and threatened a second as Roma goalkeeper Pau Lopez produced several good saves and Luis Muriel fired wide with the goal gaping.
The match swung in the hosts' favour when Robin Gosens was shown a second yellow card with 20 minutes remaining, and former Atalanta player Bryan Cristante drew Roma level with a thunderous long-range strike in the 75th minute.
Roma were frustrated in their efforts to find a late winner and had Roger Ibanez sent off moments before the final whistle, after the defender picked up two bookings in two minutes.
Atalanta are third in the standings on 65 points, one behind AC Milan in second. Roma remained seventh with 55 points.