Real Betis sanctioned the move after accepting a €23.5-million offer for Lopez, who put pen to paper on a five-year contract with the Giallorossi.
"It’s basically impossible to say no to a club like Roma," Lopez said.
"This is a big step forward for me in my career. I am delighted by the confidence this great club has shown in me: I feel ready to take on this exciting new challenge."
Lopez took over as Real Bettis' starting 'keeper last season, recording 10 clean sheets while making 33 appearances in La Liga.
He'll compete for Roma's starting job with Robin Olsen, who featured in a majority of the Italian side's league matches last term.