Nationally, the average cost of replacing a roof ranges between $7,000 to $12,000. Most people pay around $9,000 for a 2,000 sq., 2-story home. For a replacement of asphalt shingles for a 1000 sq. home should be around $4,000 on the low end and up to $8,000.