Doni joined Italian Serie A club Roma on 30 August 2005 from Juventude, after Roma paid his buy-out clause of approximately US$18,000. He signed a 1+3 year contract worth €300,000 in gross in the first year. With Roma, Doni at first was blocked from first team action by Italian u-21 international Gianluca Curci and was restricted to UEFA Cup games. After impressing in Coppa Italia competition, however, he eventually replaced Curci in goal for Serie A games. His contract was renewed on 13 April 2006, now worth €1.25 million a season (in gross). In his second season with Roma, he became one of the best goalkeepers of the Serie A. He won the Coppa Italia twice in 2007 and 2008, and also finished as the runner-up of Serie A in 2007 and 2008. On 11 April 2007, Doni conceded seven goals in a UEFA Champions League tie against Manchester United, with the game ending 7–1. The following season the two teams met again, but Doni was injured. In May 2008, his contract was extended to June 2012. He would have earned a gross annual salary of about €4 million in average (from €3.8M in the first year to €4.3M in the last year). In the second half of the 2008–09 season, he lost his place to Artur after a 1–4 loss to Juventus on 21 March. He continued for the next two matches to be named to the matchday squad but was not starting nor available for selection on the substitutes’ bench. He then trained separately with injured players and visited the doctor for his knee in April 2009. In the 2009–10 season, the club continued to use Artur and then Júlio Sérgio as first-choice goalkeeper, despite employed Claudio Ranieri to replace Luciano Spalletti. Doni was recovering from injury. In October 2009, he returned to the team for the match against Milan on 18 October, but soon lost his place again to Júlio Sérgio. After Vincenzo Montella replaced Ranieri as head coach in February 2011, Doni returned to starting XI in the second match in-charged by Montella, a 2–2 draw with Parma on 27 February.