Goals from Miralem Pjanic, Pablo Osvaldo and Mattia Destro booked the Giallorossi a last-eight encounter with either Udinese or Fiorentina, who meet next week.
But Osvaldo's second-half dismissal let Atalanta back into the game in the final phases, with Destro limping off the pitch with a suspected ankle injury.
Nerazzurri goalkeeper Andrea Consigli let Pjanic's powerful drive slip through his fingers in the 21st minute before Luca Cigarini threatened to equalise with a volley from a corner.
But a careless Consigli soon allowed Osvaldo to skip past him with ease to double Roma's lead on the half-hour mark.
Roma picked up where they left off after the break and Destro made it 3-0 in the 51st minute thanks to a sublime pass from Pjanic.
The hosts had already won but Atalanta enjoyed a flurry of chances after Osvaldo received his marching orders for elbowing Carlos Matheu in the 55th minute.
Maarten Stekelenburg had to parry a Davide Brivio effort, with Federico Balzaretti clearing the ball off the line, before the Dutch keeper reacted quickly to deny Facundo Parra's close-range header.
Destro may have been unable to finish the game but Roma were already one step closer to reaching their first Coppa Italia final since 2008.