The average American homeowner will spend $8,500 on a new roof. Most homeowners spend between $5,500-12,000. The average cost of replacing a roof is between $3.50 to $5 per square foot, depending on where the house is located and the materials used.