The 19-year-old's departure from Ajax had been imminent for some time after he rejected a contract offer and criticised the club in an interview in May.
The Netherlands international had been linked with a number of top clubs, but Roma soon became the frontrunners as they entered talks with the winger.
The Serie A side have now reached an agreement with Ajax and confirmed the signing of Kluivert on a five-year deal.
On top of the initial fee, Ajax can receive a further €1.5m based on his performances, while they could net an extra €4m if he is sold on for a large price.
“I’m feeling great. I’m at an unbelievable club and I can’t wait to start," Kluivert told Roma's website.
“I think Roma is a great club for me - I think they can build me into a bigger, stronger player and I can do some nice things here.”
Sporting director Monchi, meanwhile, believes Kluivert's potential makes it a great signing for Roma.
"I think that Justin is already one of the most exciting young players in European football,” sporting director Monchi said.
“Because of this it was not easy to bring him to Roma ahead of a number of other clubs.
"But Justin believes Roma is the perfect club for him to continue his development and realise his enormous potential.”
Kluivert joined Ajax's youth academy at the age of eight and went on to make 56 appearances for the first team, scoring 13 goals.