The cost of a roof will vary based on the material and the size of the job. Usually, it ranges anywhere from $5,000 to $11,000. In some parts of the country, the high-end figure is as much as $45,000.