According to the Fine Living website, the national average cost to replace a roof is $11,399. We visited more than 45 websites while researching this article (you're welcome!), and while the cost estimates varied greatly from one site to another, the 11K number does seem to be realistic.